5

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

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

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

我尝试在G++编译器中编译程序,但出现错误。

4

1 回答 1

8

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

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

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

它们不是排他性的,所以你不能用一个代替另一个。命名空间是独立于模块的语言特性。你可以同时使用,或者两者都不使用。

我尝试在 G++ 编译器中编译程序,但出现错误。

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

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

于 2017-07-19T17:18:09.383 回答