STL 模版类有时候难以跟踪,通过下面的方法,将使这些代码在调试时能够被调试器显示其内容
将我们需要跟踪的模版类,进行实例化,并添加标记为常量的方法,
在 vs.net 2003 中,进行调试时,可以直接在调试的变量监视窗口中输入表达式调用这些方法,
便能显示你想查看的数据,调试起来非常方便, 避免了写很多的调试输出语句
需要注意的是,添加的这些方法必须在代码中以调用的方式进行引用,
否则,编译器会聪明的认为这些函数没有用,给优化
下面的例子,使得 vecotr 中元素的值,可以在跟踪时进行显示
class VecString : public vector < string >
{
public:
VecString::size_type size() const
{
return vector < string >::size();
}
const string& operator [] ( VecString::size_type idx ) const
{
return vector < string >::operator [] ( idx );
}
const char* ele( VecString::size_type idx ) const
{
return (*this)[idx].c_str();
}
};
在调试器的监视窗口中输入:
vs[0] 或 vs.ele(0) 或 vs.size() 都能看到实际的值
本文介绍了一种在VS.NET 2003中调试STL模板类的方法,通过实例化模板类并添加常量方法,使得在调试过程中可以直接查看模板类内部的数据,避免了大量的调试输出语句。
15万+

被折叠的 条评论
为什么被折叠?



