类 是 C++ 中的名称空间吗?
Are classes namespaces in C++?
类 是 C++ 中的名称空间吗?我问这个是因为以下代码有效。有人可以解释为什么吗?
代码:
#include <iostream>
class MainClass{
public:
enum Bool{False, True};
MainClass(){
std::cout << "MainClass constructor" << True << std::endl;
}
~MainClass(){
std::cout << "MainClass destructor" << std::endl;
}
};
int main(){
MainClass::Bool myvar = MainClass::False << std::endl; //Why is this line valid?
std::cout << myvar;
return 0;
}
C++中有namespace
,也有class
,命名空间不是class。您的代码是有效的,因为您可以在 classes.
中嵌套枚举、结构、classes 等
类 不是名称空间。但是 Bool
枚举是在 MainClass
的范围内定义的,因此适用范围解析运算符 ::
。
Are classes namespaces in C++?
否 类 不是命名空间。
但是类有一个范围,就像命名空间有一个范围一样。
类 是 C++ 中的名称空间吗?我问这个是因为以下代码有效。有人可以解释为什么吗?
代码:
#include <iostream>
class MainClass{
public:
enum Bool{False, True};
MainClass(){
std::cout << "MainClass constructor" << True << std::endl;
}
~MainClass(){
std::cout << "MainClass destructor" << std::endl;
}
};
int main(){
MainClass::Bool myvar = MainClass::False << std::endl; //Why is this line valid?
std::cout << myvar;
return 0;
}
C++中有namespace
,也有class
,命名空间不是class。您的代码是有效的,因为您可以在 classes.
类 不是名称空间。但是 Bool
枚举是在 MainClass
的范围内定义的,因此适用范围解析运算符 ::
。
Are classes namespaces in C++?
否 类 不是命名空间。
但是类有一个范围,就像命名空间有一个范围一样。