使用命名空间std?

Nit*_*apa 2 c++ namespaces

using namespace std;把代码放在我的代码之上.现在考虑声明 int a,b,c;.上面的代码相当于int std::a,std::b,std::c;?如果是这样,请考虑以下示例:

如果我Hi在行之后声明(定义)了一个名称空间using namespace std;.是... Hi的一部分std,我应该Hi用作std::Hi

我是初学者.

Rem*_*eau 10

以上代码相当于 int std::a,std::b,std::c;

否.using namespace声明意味着您的代码可以使用该命名空间的成员,而无需使用命名空间的名称限定它们.

例如,假设您有一个#include <string>语句后跟一个using namespace std;语句.然后,您可以改为引用std::string该类string.

或者,说你有一个#include <iostream>声明后跟一个using namespace std;声明.然后,您可以将std::cinstd::cout对象分别称为just cincout.

简单地using命名空间不会向该命名空间添加任何内容.它是一种将指定命名空间中的内容引入调用命名空间的方法.

如果我Hi在行之后声明(定义)了一个名称空间using namespace std;.是Hi一部分std

不.要做到这一点,Hi必须在namespace std块内声明,例如:

namespace std {
    namespace Hi {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这是未定义的行为(特殊情况除外),因为通常不允许向std命名空间添加内容.