c – 何时使用命名空间或结构体?

我从 http://www.cplusplus.com/doc/tutorial/namespaces/开始就读了一下
而且看起来像一个结构体能够相同的东西?甚至是一个类的事情.也许这里的人可以更好地定义一个命名空间,以及它与struct / class的区别?

解决方法

命名空间和类类型不具备相同的功能.命名空间主要用于将类型和函数组合在一起,以避免名称冲突,而类类保存对该数据工作的数据和操作.

要通过使用类类来对功能和对象进行分组,您必须使其成为静态的:

struct X {
    static void f();
};

没有静态,你将不得不创建类类的实例来使用它们.命名空间在这里更适合:

namespace X {
    void f();
}

一个重要的事情是使用声明和指令:

namespace X {
    void f();
    void g();
}

void h() {
    using X::f;
    f(); // f() Now visible in current scope
    using namespace X;
    f(); g(); // both visible
}

对于类类,根本就没有允许这样的机制.

什么类类型给你命名空间是你可以有多个不同状态的实例 – 如果你需要使用类类型.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...