有没有办法不使用命名空间中的项目?

Tel*_*ope 6 c++ namespaces std

我学会了打字

using namespace std;
Run Code Online (Sandbox Code Playgroud)

在程序开始时是一个坏习惯,因为它包含命名空间中的每个函数。如果存在名称冲突,这可能会导致错误。

我的问题是,不存在于指定的命名空间功能,你一个方法,希望使用?是否有一些声明,例如

not_using std::cin;
Run Code Online (Sandbox Code Playgroud)

可以做到这一点吗?

Jes*_*uhl 12

您不能这样做(包括所有内容,然后有选择地排除某些内容)。

您的选择是:

1) 始终明确限定名称。喜欢std::vector<int> v;

2)拉入所有名称 using namespace std;

3) 例如,只提取您需要的名称,using std::vector;然后执行vector<int> v;- 不提取“vector”以外的名称。

注意:using namespace std;不必进入全局范围并污染整个文件。如果需要,您可以在函数内执行此操作:

void f() {
    using namespace std;
    // More code
}
Run Code Online (Sandbox Code Playgroud)

这样,只f()在其本地范围内拉入所有名称。同样适用于using std::vector;等。