C++ vscode调试——如何方便查看动态二维矩阵

最近调试程序的时候遇到一个问题:写prim算法的时候动态分配了二维数组名为AdjMatrix,但是调试程序的时候并不直接显示数据,添加监视变量 只能手动一个一个添加,非常麻烦!经过查询,有一种特殊的语法可以方便的逐行查看 ,在此记录。

这里我们拿5*5的矩阵来举例,即每行5个元素,共有5行。如果我们想查看第一行的数据,可以在监视模块中添加这样一个表达式:

cpp 复制代码
AdjMatrix[0][0]@5  // 第一行,显示5个元素
AdjMatrix[1][0]@5  // 第二行,显示5个元素
AdjMatrix[2][0]@5  // 第三行,显示5个元素
AdjMatrix[3][0]@5  // 第四行,显示5个元素
AdjMatrix[4][0]@5  // 第五行,显示5个元素

@5 是调试器中的一种数组可视化语法,相当于你告诉了调试器:"把这个指针当作数组,显示接下来的5个元素"。

当然也可以将这里的5修改为列数变量,这样更有普适性。

另外,这里不能写成

cpp 复制代码
AdjMatrix[0][0]@25

因为行内的元素在内存中是连续的,但行与行可能不是连续的。

相关推荐
yolo_guo1 小时前
opencv 学习: 11 图片像素位置变换,以图片加水波纹特效为例
c++·opencv·计算机视觉
序属秋秋秋1 小时前
《Linux系统编程之进程环境》【地址空间】
linux·运维·服务器·c语言·c++·系统编程·进程地址空间
rabbit_pro1 小时前
Java 执行FFmpeg命令
java·开发语言·ffmpeg
SunkingYang1 小时前
Visual Studio 2022开发C/C++库:解决只生成DLL未生成LIB文件的完整指南
c++·库文件·未生成lib·只生成dll
额呃呃1 小时前
Qt贪吃蛇
开发语言·qt
AKDreamer_HeXY1 小时前
AtCoder Beginner Contest 434 C-E 题解
c++·算法·前缀和·图论·差分·atcoder
.小小陈.1 小时前
C++初阶4:STL简介
开发语言·c++·学习
白日做梦Q1 小时前
ICMP互联网控制报文协议的详细介绍(基本概念、用处、故障排查)
开发语言·网络·php
毒鸡蛋1 小时前
绘制火山图 R、python
开发语言·python·r语言