Назначение "import std;" в C++
Я видел следующий небольшой фрагмент кода на сайте cppdepend.
import std; // Module import directive.
int main()
{
std::cout<<"Hello World\n";
}
Итак, какова цель import std;
в С ++? Как пользоваться import std;
вместо using namespace std;
в С ++?
Я пытался скомпилировать программу в компиляторе G++, но я получил ошибку.
1 ответ
Итак, какова цель импорта std; C++?
Его целью является сделать имена из std
модуль доступен. Модули - это языковая функция, которая была предложена для включения в будущий стандарт C++.
Как пользоваться
import std;
Вместо того, чтобы использоватьnamespace std;
в С ++?
Они не являются эксклюзивными, поэтому вы не можете использовать одно вместо другого. Пространства имен - это отдельная языковая функция от модулей. Вы можете использовать и то, и другое или ни то, ни другое.
Я пытался скомпилировать программу в компиляторе G++, но я получил ошибку.
Учитывая, что гипотетическая будущая стандартная версия еще не выпущена, и даже не решено, что модули определенно будут частью будущего стандарта, неудивительно, что компилятор их не реализовал.
Вы можете найти состояние модулей в GCC здесь: https://gcc.gnu.org/wiki/cxx-modules На момент написания работы началась и ведется работа над веткой разработки.