Вопросы по теме 'c++-modules'

Как разбить модуль на несколько файлов
Я читал о модулях на C ++ и кое-что не понимаю, как это сделать. Интересно, как можно эффективно разделить модуль C ++ на несколько файлов с помощью текущего предложения объединенного модуля. Допустим, у меня есть два класса, которые я хочу...
511 просмотров
schedule 06.05.2022

Ошибки Clang++ -fmodules с использованием типов после #include ‹cstdint›
Следующий простой тестовый файл дает мне ошибку времени компиляции с подсказкой «мастер» из зеркала Clang на github при компиляции с -fmodules с использованием команды, показанной ниже. Мне интересно, является ли это ошибкой с новой...
396 просмотров
schedule 18.11.2022

Взаимодействие модулей Clang со стандартными ‹iterator› и ‹boost/move/iterator.hpp›
(См. в конце вопроса информацию о конкретных версиях Boost и Clang, которые я использую) При компиляции в Clang из master/HEAD с использованием новой экспериментальной функции -fmodules я получаю ошибку сборки при компиляции следующего файла с...
525 просмотров
schedule 03.11.2022

Будет ли предстоящее добавление модулей в С++ исправит/уменьшит потребность в идиоме pimpl?
Идиома pimpl, насколько я могу судить, скрывает частную реализацию за заранее объявленным именем символа, чтобы его можно было объявить и использовать в частном модуле cpp. Пример: https://cpppatterns.com/patterns/pimpl.html Насколько я могу...
538 просмотров
schedule 15.04.2023

Решает ли стандартный для C++ модуль проблему сокрытия приватных данных от вызывающих?
В C++ модули стандартизируются, чтобы, среди прочего, решить проблему раздувания #include. Компиляторам на C++ приходится слишком много анализировать. Но также, поскольку C++ хранит данные встроенными, что эффективно, даже вызывающая сторона...
387 просмотров
schedule 10.10.2022

Как использовать модули c ++ 20 с CMake?
Clang и MSVC уже поддерживает Модули TS из незавершенного стандарта C ++ 20. Могу ли я создать свой проект на основе модулей с помощью CMake или другой системы сборки и как? Я пробовал build2 , он поддерживает модули и работает очень...
12884 просмотров
schedule 16.02.2023

встроенное значение в интерфейсах модулей
Рассмотрим заголовочный файл: class T { private: int const ID; public: explicit T(int const ID_) noexcept : ID(ID_) {} int GetID() const noexcept { return ID; } }; или, альтернативно: class T { private: int const ID; public:...
910 просмотров
schedule 23.09.2023

MSVC: модули C ++ 20, которые импортируют друг друга, не компилируются
Поддержка модулей C ++ 20 недавно была добавлено в MSVC 16.8 . Если я не ошибаюсь, одним из преимуществ использования модулей является то, что теперь поддерживаются циклические зависимости импорта. Однако следующий тестовый проект по-прежнему не...
272 просмотров