Закрытый фрагмент в C++
Закрытый фрагмент - секция module :private;
в конце файла первичного интерфейса: сюда
кладут определения, которые не попадают
в экспорт и недоступны импортирующему коду.
Экспортированная функция может опираться на такой внутренний помощник в том же файле:
export module util;
export int pub_value();
module :private;
int helper() {
return 3;
}
export int pub_value() {
return helper() + 1;
}
В gate.cppm экспортируйте int open().
После module :private; опишите
int seed() со значением 5 и
определите open через seed.
Создайте mix.cppm с закрытым фрагментом
и функцией int base() без export.
Экспортируйте int mix(), возвращающую
base + 2. Закрытый фрагмент оставьте
только в файле первичного интерфейса.