目的是" import std;"在C ++中

时间:2017-07-19 17:02:15

标签: c++ c++-modules

我在cppdepend网站上看过以下一小段代码。

import std; // Module import directive.
int main() 
{
    std::cout<<"Hello World\n";
}

那么,C ++中import std;的目的是什么?如何在C ++中使用import std;而不是using namespace std;

我尝试在 G ++ 编译器中编译程序,但是我收到了一个错误。

1 个答案:

答案 0 :(得分:7)

  

那么,import std的目的是什么; C ++?

其目的是使std模块中的名称可用。模块是一种语言特性,已被提议包含在未来的C ++标准中。

  

如何使用import std;而不是在C ++中使用namespace std;

它们不是独占的,所以你不能使用另一个而不是。命名空间是模块的单独语言功能。您既可以使用,也可以两者都不使用。

  

我尝试在G ++编译器中编译程序,但是我遇到了错误。

考虑到假设的未来标准版本尚未发布,甚至不确定模块肯定会成为未来标准的一部分,编译器没有实现它们也就不足为奇了。

您可以在此处找到GCC中的模块状态:https://gcc.gnu.org/wiki/cxx-modules 在撰写本文时,工作已经开始并且正在开发分支上进行。