在命名空间"名称"上: ::标准:: vs 标准::
On namespace 'names': ::std:: vs std::
我一直在看Stackoverflow上的一些帖子,我注意到大多数人使用std::
,但有些人使用::std::
我想我已经读过一些关于全局作用域或命名空间中类似的东西作为使用::std::
的原因(但我现在找不到它,因为它在一个无关问题的注释中)
有什么理由选择其中一种方式而不是另一种方式吗?
这样写代码是个坏主意,但可以:
namespace foo {
namespace std {
int bar;
}
std::string s;
}
在这种情况下,std::string
指的是::foo::std
名称空间,而不是::std
名称空间。因此,使用::std::string
只是更加明确地小心一点。
相关文章:
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 使用CMake检测支持的C++标准
- 如何理解C++标准N3337中的expr.const.cast子句8
- 使用库时的标准 - 使用库的数据类型 VS 创建我自己的类型?
- 标准::make_unique<T> vs 复位(新 T)
- RVO vs 标准::unique_ptr<>清理
- VS 链接器失败,标准::字符串方法出现"object already exists"错误
- Windows API,C++标准库,VS运行库,我应该使用哪一个
- 标准::auto_ptr vs. 标准::TR1::shared_ptr
- 旋转锁 vs 标准::互斥::try_lock.
- 性能标准::strstr vs. 标准::字符串::查找
- 在命名空间"名称"上: ::标准:: vs 标准::
- 下面的模板专门化代码是非标准的,或者是vs - c++中的错误
- 缓冲区刷新:"n" vs. 标准::endl
- 标准::static_pointer_cast vs static_cast<标准::shared_ptr<A>>
- 在VS中构建和运行C++标准"主"条目的控制台应用程序(2010)
- C++ 标准::前进<T> vs static_cast<T>
- <cstdint> VS 标准::size_t类型
- 可变参数列表vs单一模板参数:标准怎么说?
- 重定向标准I/O: freopen + stdin/stdout vs open + dup2