【发布时间】:2016-01-11 04:14:24
【问题描述】:
using ::std::...;
VS
using std::...;
有区别吗?如果有,是哪一个?
我看到了这个:
using ::std::nullptr_t;
这让我想知道。
【问题讨论】:
-
只有当其他人将另一个
std::nullptr_t添加到您项目内的嵌套命名空间时,您才需要编写::std::nullptr_t。或者你可以让你的经理与那个人进行一次认真的谈话。 -
顺便说一句,
namespace C14_compatibility { namespace std { template <typename T> using decay_t = typename decay<T>::type; }}和using namespace C14_compatibility;似乎是一种可能的用法。 -
或者实际上,当您的编译器不支持您要使用的 C++ 标准,或者它支持但您需要在某些地方自己实现时。
-
@chuex 同意,但这里的问题本身和答案似乎要好一些。 (即使我没有写出接受的答案,我可能也会写同样的内容。至少我希望如此......)
-
@gsamaras:有点遗憾你删除了你的元问题......但他并没有说你愚蠢。我个人不会为此烦恼;不要生气。
标签: c++ c++11 scope namespaces using