【发布时间】:2013-05-30 12:50:25
【问题描述】:
我正在实现一种跟踪机制,该机制在输入函数和退出函数时(当跟踪对象被破坏时)输出日志行。我也有兴趣输出范围退出的行号,但不确定如何完成此操作,因为对象在退出时被销毁。显然,析构函数中的__LINE__ 不起作用,因为它只会输出析构函数的行号。
【问题讨论】:
-
作用域在函数的右大括号处结束(除非你说的是在某个表达式期间持续存在的临时变量)。你真的需要记录吗?
-
@jrok 我想我的意思是要打印 导致范围退出的行号,例如通过 return 语句。
-
我明白了。也许是这样:
#define LOG_RETURN(x) return (std::clog << __LINE__), (x);:)
标签: c++ trace line-numbers