我正在尝试检查 std::multimap
和 std::multiset
的内容QtCreator。
我显示的不是值列表,而是实现细节。
奇怪的是 std::map
和 std::set
对应项显示正常:
#include <iostream>
#include <map>
#include <set>
#include <string>
int main()
{
std::multimap<int, std::string> multimap;
multimap.insert(std::make_pair(1, "one"));
multimap.insert(std::make_pair(2, "two"));
multimap.insert(std::make_pair(3, "three"));
std::multiset<int> multiset = {1,2,3};
std::map<int, std::string> map;
map.insert(std::make_pair(1, "one"));
map.insert(std::make_pair(2, "two"));
map.insert(std::make_pair(3, "three"));
std::set<int> set = {1,2,3};
return 0;
}
我正在使用:
Qt Creator 3.0.0
gcc 4.8
GDB 7.6.1
Qt 5.2.0
Ubuntu 13.10
是否支持此功能?
最佳答案
您可以为 gdb 安装 pretty-print :
- 参见 https://sourceware.org/gdb/wiki/STLSupport
- 另请参阅 http://nikosams.blogspot.de/2009/10/gdb-qt-pretty-printers.html
- 和https://github.com/ruediger/Boost-Pretty-Printer/wiki
确保您至少获得版本 6
关于c++ - 如何在 QtCreator 的调试器中显示 std::multimap 和 std::multiset 的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21020154/