Экспорт из модуля в C++
Ключевое слово export перед объявлением делает имя частью публичного интерфейса модуля; без этой пометки символ остается внутри единицы трансляции модуля.
В интерфейсе math опубликуем удвоение
целого:
export module math;
export int twice(int x) {
return x + x;
}
Импортирующий файл видит только экспортированное
имя и может вызвать его из main:
import math;
#include <iostream>
int main() {
std::cout << twice(5) << "\n";
return 0;
}
В units.cppm объявите export module units;
и экспортируйте int inch(int cm) с формулой
cm / 2. В main.cpp импортируйте
модуль и выведите результат для 10.
Добавьте в units.cppm функцию int raw(int v)
без export. В main.cpp оставьте
только вызов inch и комментарий,
что raw снаружи недоступна.