【发布时间】:2018-01-18 15:04:38
【问题描述】:
为什么 C++ 标准库的某些部分(在最近的标准中似乎越来越普遍)不直接位于 ::std 命名空间中,而是位于嵌套命名空间中? std::chrono 和 std::filesystem 是我脑海中浮现的两个例子。
【问题讨论】:
-
已经对标准命名空间的元素进行了分类,即
std::chrono::duration当然特定于计时。这也不是什么新鲜事。以std::string::npos为例。 -
@JustinRandall:
std::string::npos不是命名空间。你的例子没有回答这个问题。向量是特定于容器的,那为什么没有std::container命名空间呢? -
致那些以意见为基础投票结束的人:让我指出,我并没有要求讨论将事物放在嵌套命名空间中的利弊,我问为什么这样做是在这些案件,对于任何参与或听取做出此决定的人来说,这应该是一个基于事实的问题。如果其他人提出他们有根据的猜测(我完全赞成),这不会使问题基于意见
-
这个问题可以用事实来回答;它不应该仅仅因为迄今为止的大多数答案主要是基于意见而关闭。投票重新开放。
-
回复:
std::chrono:stackoverflow.com/a/13442036/576911
标签: c++