在我的教授告诉我们在大学和我在Stroustrup的书中读到的内容之间,我心里有些困惑.
我们都知道C++ header基本上是声明的集合(在file.h中定义),它们可以包含例如类的集合.它们非常有用,因为它们为我们提供了存储在单个空间中的许多功能
命名空间是为了在不定义类型的情况下在程序的一部分中组织类,函数,类型(...)而发明的.
当我必须创建一个项目时,我无法看到具体的区别.
如果我(例如)制作一个解决不同程度方程的程序,我会把我需要的类放在一个文件中.例如,我将放置equations.h所有这些东西:class secondDeg,class thirdDeg,class fourthDeg等等.
那我为什么要使用命名空间呢?
答案(我猜)是:因为你可以给一个更好的组织命名(参见std :: cin).但在这种情况下我应该
eq,例如这真的是必须的吗?我不能只使用头文件并将我的所有类放在里面吗?
那我为什么要使用命名空间呢?
命名空间可以包含多个标题,例如,namespace std包含来自<vector> <list>等的定义.
您可以定义自己namespace的不污染全局命名空间并避免冲突.最好将命名空间限制为所需的最小值,因此using namespace std;通常可以避免.
这真的是必须的吗?
这取决于.更好,更明确的选择是将您的声明嵌入到namespace.
我不能只使用头文件并将我的所有类放在里面吗?
当然可以,只是避免与global(::)范围中声明的符号发生任何冲突,并避免using namespace <xxx>;在头文件中.
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |