windows - visual C++ 中怎么查看容器中的内容
PHP中文网
PHP中文网 2017-04-17 15:16:06
0
4
584

std::vector<Cstring> m_str;
std::map<int,CString> m_mapType;    
std::map<int,std::vector<FileInfo>* > m_mapWa;    

这样的变量初始化之后, 我怎么调试查看到每个元素的具体内容。有什么方式吗?
有具体的步骤,或是可以附上链接。

IDE 是VC6, 一些复杂的STL 调试的时候显示原始结构。都不知道怎么看,我在想有没有简单的办法可以查看,不然程序运行的时候就要用 printf 的方式了,有些麻烦。
变量是单列类中的复杂数据。 有好的方法吗? 如果用VS2013的话倒是很方便,支持复杂类型的查看。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
伊谢尔伦

VC6啊...说个题外的,新的VS都可以自己写natvis文件描述IDE如何展示对象

小葫芦

使用一个迭代器,如要访问m_mapType中的内容:
std::map<int,CString>::iterator it=m_mapType.begin();
while(it!=m_mapType.end()){

cout<<(*it).first<<":"<<(*it).second<<endl;
//map里面使用关键字与值组成的,组成一个pair对象,first与second分别是pair的关键字与值

}

PHPzhong

调试的时候跟踪或者暂停执行的时候,直接指向那个变量就可以的。那个提示条可以展开,一层层的。

黄舟

看你的代码可能你还在使用老的VC6之类的编辑器
这类老的编译器对于一些复杂的stl容器支持不好,比如map
如果你知道key,可以在watch里面使用map[key]来一个一个查看map的值
VS之后,IDE都是可以看到这些复杂数据结构的值了、

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板