对于某些类A
,我需要知道我编写的代码是否触发对构造函数的调用,复制或移动构造函数(可能还有更多我想看的东西,但这些就足够了) 。
现在当我是A
的作者时,我通常使用代码:
class A {
public:
A() { cout << "default constructor called\n"; }
A(A const&) { cout << "copy constructor called\n"; }
A(A&&) { cout << "move constructor called\n"; }
};
但是当我必须为标准库类型做同样的事情,例如std::string
时,我总是发现自己在调试器上大汗淋漓,看看我将会介入什么样的调用。有没有更好的办法 ?请不要建议我修改STL,这是一个不会扩展的明显解决方案(我不会修改所有标准类型)加上我不认为我&# 39; ll总是可以访问这些文件(例如在VS中这些是只读文件)
答案 0 :(得分:3)