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

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

相关推荐
2601_962885722 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
choumin2 小时前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里3 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑4 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程
hhhjhl4 小时前
Yup 跨端三方库仓颉适配全流程
java·开发语言
运维行者_4 小时前
网络监控工具怎么选?从设备监控到智能运维的能力清单
运维·服务器·开发语言·网络·人工智能·支持向量机·php
“AI国潮设计-小江”5 小时前
【AIGC实战】Python+SDXL打造“潮汕英歌舞IP”万能立牌插件,批量生成“发财元宝蛋糕”视觉营销方案(附源码)
开发语言·人工智能·python·prompt·aigc
lhbweilai5 小时前
分析FreeRTOS内核对象API的源码实现(八)
c语言·开发语言·stm32·单片机
努力努力再努力wz5 小时前
【C++高阶系列】C++20 协程底层原理:函数为什么能暂停?从状态机到 Task,彻底串起挂起、恢复与协程调度
开发语言·c++·c++20·1024程序员节