gpt4 book ai didi

c++ - 为什么要使用命名空间?

转载 作者:行者123 更新时间:2023-12-01 14:34:00 26 4
gpt4 key购买 nike

这让我很困惑。所有代码示例为 namespaceAnamespaceB方法名称为 foo()bar()也没有帮助。每个人都解释它的方式使它看起来好像命名空间是前 OOP 时代的遗物,在那里你不能说“类汽车提供燃料水平”,但必须从另一种方法去实现这一点。但是当我现在想做一个 C++ 级别时,使用命名空间有什么意义呢?并不是说标题已经足够令人困惑,命名空间对我来说绝对没有意义,无论是它们的工作方式还是为什么使用它们。
假设我有一个围绕 Traffic 构建的项目, 例如。你会有 Car 的类(class)s 及其组件,Driver s 和 Passenger s 和 Road .
现在,RoadCar s 和每个 CarPerson s。这会是什么样子?
你有名字空间Road吗? , Car , Person ?请问main()使用命名空间 Road访问标题中的内容?命名空间 Road包括命名空间 Car ,以及 Car包括命名空间 Person ,并会通过这个 main()可以访问 Person 中的方法?这是大多数指南解释这一点的方式,但我并没有真正看到这比仅导入头文件的优势,这不会有相同的效果吗?
或者你会在同一个命名空间中放置多个标题,例如 namespace Traffic所有这些类(class)?你能嵌套命名空间吗?
我知道 C# 并且一直不知道它有命名空间,直到我刚刚查找它,并且从不需要它,在 Java、Python 和 Dart 中,这些也从未出现过。因为我正在尝试自学 C++,所以我现在有点被困在这里,在这里问这个问题。到目前为止,我也从未在 C++ 中使用过它们,但我想正确地学习它。

最佳答案

对于小型、自包含的项目,对命名空间的需求不大,而且您永远不会为代码中的每个对象或概念创建命名空间。
使用库的大型项目受益于与这些库引入的名称隔离,以及一些内部组织,使可读性更容易。
同样,在创建库时,最好将其内容放入命名空间中,以免给用户带来麻烦和冲突(因为您不知道他们的项目有多大,以及他们可能想要什么名称)自己用)。
打个比方:如果你有三本书,你就不必费心按字母顺序组织它们。但是,一旦你有一百个,你可能会决定将它们分类在你的书架上,以便于引用和心理健康。
而且,如果您现在从 friend 那里再借 20 本书,您可能会将它们单独存放在一堆,以便在您需要归还时更容易找到它们。
所以,在某种程度上,这是一个……当你需要它时,你会知道为什么需要它。

关于c++ - 为什么要使用命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63250244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com