应该说,在 debug 的时候查看数组中的内容是一个十分常见的需求,但是有时候却会在这种需求上遇到坑。
本文中所有的案例均在 vscode 和 codeblocks 下使用 mingw 尝试过,其他平台怎么样暂且还不知道
一般来讲,对传统的指针式的 array 进行查看是不会有什么问题的。但当我们把数组传到函数里面,使其退化为原始的指针的时候,就无法查看了。
这时候,我们可以通过在 watch
中添加一些表达式来达到查看数组内容的目的,有几种方法可以使用。
第一种是:
1 | arr[0] @ size |
就像这样:
第二种是:
1 | *(type_name(*)[size])arr |
经测试,这两种方法在 codeblocks 中也可以用:
另外,还有一种方法,是这样的:
1 | arr, size |
但貌似这种方法只能在 Visual Studio 中使用,我在 vscode 和 CB 里面尝试都没成功,可能是因为我用的是 mingw 套装。