Назначение "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 На момент написания работы началась и ведется работа над веткой разработки.

Другие вопросы по тегам