gpt4 book ai didi

c++ - 如何取消引用和打印指针数组的每个元素?

转载 作者:行者123 更新时间:2023-11-30 03:13:45 27 4
gpt4 key购买 nike

假设我有一个指针数组:

struct S {int x;};
S *arr[3] = {new S{1}, new S{2}, new S{3}};

我想使 gdb 取消引用并打印数组的每个元素。

打印一个元素很简单:

(gdb) p *arr[0]                                                                                            
$1 = {x = 1}

但我想以这种方式打印数组中的每个元素。

我尝试了 p arr,但它输出的是指针,而不是它们指向的对象:

(gdb) p arr
$1 = {0x613c20, 0x613c40, 0x613c60}

最佳答案

我还没有找到比这更好的:

(gdb) set $i=0
(gdb) p *arr[$i++]
$102 = {x = 1}
(gdb)
$103 = {x = 2}
(gdb)
$104 = {x = 3}
(gdb)

也许它能帮上忙。

注意:只需按return 即可显示下一个值。

关于c++ - 如何取消引用和打印指针数组的每个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58464405/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com