我如何看到迭代器在使用gdb的vscode向量中指向什么元素?



我正在尝试VSCode使用gdb编写一些c++,我发现我需要确定iterator指向特定vector的元素。有什么办法可以做到吗?

如果您想将此作为程序的一部分,您可以使用STL:

int distance = std::distance(begin(s), result);

如果你试图在VSCode中使用watch窗口来做这件事,上面的代码将不起作用,因为它正在调用一个函数。由于vector的底层结构是一个数组,因此可以使用math来代替。在watch窗口中,添加:

(&(*myIterator) - &(myVector[0])) / sizeof(myVector[0])

最新更新