c++ - 是否有宏或规定来检查代码行是否在类中?

标签 c++ c++11 macros

我的代码中有一个 c 风格的宏,它打印日志。我想更改宏以打印 this 指针。但是,有一部分代码不是类的成员函数,或者有些是静态函数。因此,在我的宏中,我想检查当前代码行是否在成员函数内。可能吗?

最佳答案

没有。顾名思义,预处理器首先运行。将标记序列解释为类定义是由编译器完成的,编译器在预处理器之后运行。因此,预处理器不知道类、函数、变量或任何其他 C++ 结构。

顺便说一句,在一个类中,您仍然有 static 方法,它们也没有 this 指针。

关于c++ - 是否有宏或规定来检查代码行是否在类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173850/

相关文章:

c++ - 使用 ZeroMQ 加密数据的建议

c++ - C++0x lambda 的 undefined symbol ?

c - 带有调用函数的函数参数的宏

c++ - 这个赋值运算符后面的 & 是什么意思?

c++ - 我们可以在 C++14 中省略 std::array 的双括号吗?

c - 在 C 预处理器中避免双重宏替换

c# - C# 中类似宏的结构 ==OR== 如何提取包含 'return' 的函数

c++ - 在Rcpp中的字符串类型之间转换时出错

c++ - 在 C++ 中将文本附加到 Win32 EditBox

c++ - long * tempArray[10]; 是什么意思?做?