获取调用函数的文件和行

时间:2014-08-18 16:12:01

标签: c++ operator-overloading stack-trace

我正在尝试编写一个记录对其operator=的调用的类,但我不知道如何在不更改调用代码的情况下执行此操作。对于我可以调整其签名的函数,类似这样的函数可能有效:How to know what function called another,但我不知道这对于像operator=这样的函数是如何工作的。这可能吗?

示例类/用法:

template <typename T>
class LoggingT {
    T data;
    LoggingT& operator=(const LoggingT& rhs){
        data = rhs; 
        std::cout << "assigned at line: " 
          << ???? << " in file " << ???? << std::endl;
    return *this;
};

0 个答案:

没有答案