gpt4 book ai didi

c++ - 检查嵌套的标准库数据

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:56 27 4
gpt4 key购买 nike

我在其下使用 ddd 3.3.11 和 gdb 6.5-8.fc6rh。我的编译器是 g++ 4.1.1。

我有一个 STL 映射容器,其中包含一个 int vector ( vector )作为其键查找。key处的数据是MyType*

我使用的是 Dan Marinescu 编写的 .gdbinit 文件。在您嵌套 C++ 标准库容器之前,它工作得很好。

我的问题是,使用 .gdbinit 文件中示例的检查技术,有没有办法检查嵌套的 stdlib 数据?

我遇到的主要问题似乎是 .gdbinit 文件试图进行类型转换。

如果我的 map 是类型

 map<vector<int>, MyType*>

然后,在 gdb 中,我尝试调用 pmap,例如

pmap myMap vector<int> MyType*

这失败了

elem[0].left: No symbol "vector<int>" in current context.

在 gdb 中我必须使用什么语法将一些数据类型转换为模板类型?

最佳答案

使用更新的 gdb,我不得不添加单引号,以及添加命名空间和分配器。

(gdb) pmap myMap 'std::vector<int,std::allocator<int>>' MyType*
elem[0].left: $3 = std::vector of length 1, capacity 1 = {2}
elem[0].right: $4 = (MyType *) 0x7fffffffe060
Map size = 1

关于c++ - 检查嵌套的标准库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7044633/

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