C++ 在Qt4.8中使用不带命名空间的memcpy
在qt4.8中 当我C++ 在Qt4.8中使用不带命名空间的memcpy,c++,qt,C++,Qt,在qt4.8中 当我#include时,我发现我可以直接使用memcpy 为什么我不需要使用std::memcpy 为什么编辑者不报告错误?标准规定(§17.5.1.2/4) 除第17条至第30条和附件D中另有说明外,各标题cname的内容与 C标准库(1.2)中指定的相应标头名称.h的名称。在C++标准中 但是,库中的声明(在C中定义为宏的名称除外)在命名空间标准的命名空间范围(3.3.6)内。未指定是否添加了这些名称(包括任何重载) 在第18条至第30条和附录D)中,首先在全局命名空间范围内
#include
时,我发现我可以直接使用memcpy
为什么我不需要使用std::memcpy
为什么编辑者不报告错误?标准规定(§17.5.1.2/4)
除第17条至第30条和附件D中另有说明外,各标题cname的内容与
C标准库(1.2)中指定的相应标头名称.h的名称。在C++标准中
但是,库中的声明(在C中定义为宏的名称除外)在命名空间标准的命名空间范围(3.3.6)内。未指定是否添加了这些名称(包括任何重载)
在第18条至第30条和附录D)中,首先在全局命名空间范围内声明,然后
通过显式使用声明(7.3.3)注入命名空间std
因此,当您包含
时,名称在名称空间std::
中可用,但允许名称也在全局名称空间中
同样,当您包含
时,名称保证位于全局命名空间中,但也可能在命名空间std
中可见