在名称空间中初始化变量是否类似于将其初始化为类成员?

时间:2018-08-17 11:56:40

标签: c++ class namespaces

换句话说:可以说一个命名空间像类一样具有成员变量和函数吗?

2 个答案:

答案 0 :(得分:1)

不是。 namespace用于限制变量,函数和类的范围。意味着通过将它们放入命名空间中,可以使相同的命名函数出现在代码中,并可以通过使用命名空间来区分它们。

一个类的意思是代表一个独立的数据集(变量)以及要对该数据执行的一组操作(功能)。

虽然您可以拥有仅具有静态成员和仅可公开访问的变量的类,但是您开始失去了类的优点(和重点)。

答案 1 :(得分:0)

否。

成员,成员变量,成员函数和方法通常仅用于类(结构)变量和函数。

名称空间中的函数只是名称空间范围内的函数,就像变量只是名称空间范围内的变量一样。

除了名称空间和类之间关于访问和其他内容的区别之外,这里最重要的区别是您可以创建一个类的多个对象,然后将每个对象的数据保存在其成员变量中,并且方法==成员函数起作用在此数据上。