c++ - 类和命名空间的区别?

标签 c++ class struct namespaces

我正在查看 namespace ,但我并没有真正看到这些名称和类之间的区别。 我正在自学 C++ 我已经在网上找到了几本书,所以我知道我的学习效率不是最高的。无论如何,有人可以告诉我两者之间的区别,以及在类里面使用命名空间的最佳时间是什么时候?另外,我在正在阅读的书中没有看到太多关于结构的内容。

这是格式吗?

struct go
{

  goNow(){ cout << "go Now"};

}

提前感谢您的帮助。

最佳答案

类和结构定义类型。您可以创建一个类型的对象。命名空间只是声明一个范围,在该范围内可以存在其他类型、函数、对象或命名空间。您不能创建 std 类型的对象(当然,除非您创建了一个名为 std 的类型,它会隐藏 std 命名空间)。

当您在结构/类(方法)中定义函数时,您是在说“此函数是对关联数据的基本操作”。当你在命名空间中定义一个函数时,你是在说“这个函数在逻辑上与命名空间中的其他函数、类型和对象相关”

编辑

可能值得指出的是,像 Java 和 C# 这样的“一切都是对象”语言经常使用类,就好像它们是命名空间一样,因为它们不允许“自由”函数。这可能就是困惑的来源。如果你有一个其他语言的类只包含静态成员,你会希望在 C++ 版本中使用命名空间和自由函数。

关于c++ - 类和命名空间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3188156/

相关文章:

c++ - 在 Visual Studio 2008 Express 中链接 libcURL

c# - C++ CLI 句柄类型

c++ - 错误 : Use of class template requires template argument list

c++ - 我应该使用基类还是子类来访问基类中定义的枚举值/常量?

c - MPI 派生数据类型适用于 float ,但不适用于 double 。是对齐问题吗?

c++ - DoEvents 等同于 C++?

c++ - 两个应用程序如何监听一个端口?

c++ - 在无限循环中使用或不使用 join() 方法

c - 如何解释 C 中结构的成员访问(点)运算符?

go - 传播运营商模拟