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

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

相关推荐
WHOVENLY1 分钟前
【javaScript】- 笔试题合集(长期更新,建议收藏,目前已更新至31题)
开发语言·前端·javascript
慌糖17 分钟前
流-为序列化解释
开发语言
LXS_3571 小时前
Day 18 C++提高 之 STL常用容器(string、vector、deque)
开发语言·c++·笔记·学习方法·改行学it
王琦03181 小时前
Python 函数详解
开发语言·python
胡伯来了1 小时前
13. Python打包工具- setuptools
开发语言·python
小鸡吃米…2 小时前
Python 中的多层继承
开发语言·python
deng-c-f2 小时前
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr
开发语言·c++·学习
wanghowie2 小时前
01.07 Java基础篇|函数式编程与语言新特性总览
java·开发语言·面试
Cricyta Sevina2 小时前
Java IO 基础理论知识笔记
java·开发语言·笔记
一个不知名程序员www2 小时前
算法学习入门---结构体和类(C++)
c++·算法