首页 > 解决方案 > “使用命名空间:std;”的功能是什么 在 C++ 中?

问题描述

using namespace std;

这个语句的作用是什么?

这是否与“包含”具有相同的功能?

标签: c++namespacesinclude

解决方案


其中一个概念c++是名称空间。这以某种方式组织您的代码。

现在using namespace std;做什么?让我们通过例子来探索这一点。

#include <iostream>
int main() {
    std::cout << "Hello World" << std::endl; // important line
    return 0;
}

您会std在注释所在的行中看到关键字。这称为命名空间。所以你告诉编译器,你想使用cout命名空间std

using namespace std;

#include <iostream>
using namespace std;
int main() {
    cout << "Hello World" << endl; // important line
    return 0;
}

在那里你告诉编译器,在这个范围内打开std命名空间四个你。所以你可以cout不用std::. 这可能被误认为对编码更有效。但是你会在某一时刻遇到问题。

在命名空间std中定义了数百个或数千个函数或常量等。大多数时候你不会为此烦恼。但是如果你在某一时刻定义了一个具有相同名称和参数的函数,你将很难发现错误。例如有std::find. 您可能有机会定义相同的函数。在这种情况下,编译器错误很痛苦。所以我强烈反对你使用using namespace std;.


推荐阅读