这段代码:

#define DEREF(ptr) (*ptr)

MyClass *pClass = new MyClass;
DEREF(pClass).foo(); // equivalent of (*pClass).foo() or simply pClass->foo()

我可以配置#define宏以接受ptr参数作为该宏后面的单词而不是括号内的语句,以便执行以下操作吗:
DEREF pClass.foo();

最佳答案

否,C宏只能在方括号'()'中接收参数

09-05 07:20