【发布时间】:2013-01-11 22:31:46
【问题描述】:
有没有办法确定上下文是否允许使用“this”?
我的目标是编写一个通用宏,用于记录,根据上下文使用“this”(例如,打印“this”的值)。
【问题讨论】:
-
制作一个打印
this的版本和一个不打印的版本,并使用在类内执行的版本和不在类外的版本。 AFAIK 无法检查变量是否存在或您是否在成员函数中。 -
什么是“这个”?你确定 c/c++ 是正确的标签吗?
-
@qPCR4vir 在 C++ 中,“this”是指向调用函数的成员的指针。他没有将其标记为“c/c++”,而是“c++”和“c++11”。
-
是否可以仅检测我们是否处于从特殊父类派生的类的成员函数中?父类不需要有数据成员。
-
@user1476999:有两个版本的函数,“cont int inMember()”——一个返回零的全局版本和一个返回一的成员版本(在基类中)。
标签: c++ c++11 macros this compile-time