如何在预处理器宏中筛选波浪号

How to screen the tilde in preprocessor macros?

本文关键字:筛选 预处理 处理器      更新时间:2023-10-16

我尝试编写宏来定义某个类,但在这种情况下我不能编写析构函数,因为波浪号是预处理器的特殊字符。

有一个例子:

#define CLASS( cName ) 
class cName 
{ 
public: 
    cName() 
    { 
    
    } 
    
    ~cName() 
    { 
    
    }  
};

如何筛选波浪号?

这是声明它的正确方法:

#define MAKECLASS(name) 
class name 
{ 
public: 
    name() {} 
    ~name() {} 
};
MAKECLASS(a)

但是我应该警告你,这通常是一个坏主意,为什么你的程序设计需要这个?如果没有,你最好不要使用它。