如何使用宏#define来改变类名?

时间:2014-01-07 18:58:42

标签: c++ macros

我有class

 class A{}

但是我想用宏用以下语句替换类名A:

#define SOMETHING A

class A {}的定义与MACRO在同一.cpp中。

是否正确?

我想这样做,因为我删除了源代码中的所有MACRO。但MACRO被广泛使用。有没有软件可以帮我替换MACRO?

2 个答案:

答案 0 :(得分:5)

反转令牌; #define A SOMETHING应该有用。

请注意,这是一个可怕的想法,因为它可能会破坏其他代码并使人们感到困惑。

改为使用别名:

class A { … };
using SOMETHING = A;

答案 1 :(得分:0)

试试#define A SOMETHING。然后,如果预处理器看到public class A , it will presumably replace your class name to give公共类SOMETHING`。为什么在世界上你会想做这样的事情呢?