在类中私有定义该类?

man*_*ans 1 c++ c-preprocessor

如果我写这样的东西:

class myclass
{
#define ADD(x,y) {return x+y}

public:

}
Run Code Online (Sandbox Code Playgroud)

我的班级的私人定义是什么?

请注意我在*.hpp中定义它并且我想确保如果我将此hpp包含到另一个源代码中,则其他源代码无法访问此定义.

有没有比#define在C++中使用更好的解决方案可以做同样的事情?

怎么用?我的班级是否私密?

class myclass
{
using std;

public:

}
Run Code Online (Sandbox Code Playgroud)

Aga*_*nju 6

它不是,也永远不会.

#...在读取和分析源代码之前,所有预处理器命令()都会被处理,所以在它们放置它们的任何地方都无关紧要; 只有序列(如果它们相互构建)和它们的使用相对位置(之前/之后)很重要.

您可以将预处理器命令想象为"从此处查找/替换".