使用std :: cout和使用:: std :: cout有什么区别?

时间:2016-01-03 17:42:16

标签: c++ namespaces

我们已经知道::是全局命名空间。我们已经知道that使用命名空间有一些缺点。

因此我们决定输入less并键入文件using ::std::cout;的开头,但我们也可以输入using std::cout;。那有什么不同吗?

1 个答案:

答案 0 :(得分:3)

有些人写::std::cout是为了绝对确保他们从标准库中获取cout,因为领先的::根源在全局命名空间键入。

否则,可以想象查找可以找到一些::haha::trolling::std::cout名称。但是,我会说这不太可能。

我有时会在短的函数模板中编写::std,这些模板设计为高度可重用,只是为了获得最大的可移植性,但这种情况并不常见。我已经看到一个SO贡献者虔诚地坚持它,但那就是它。