モジュール (C++20以上)
提供: cppreference.com
モジュールは大量のコードを論理的な部品に分割するのに役立ちます。
モジュールは名前空間とは直交します。
// helloworld.cpp
export module helloworld; // モジュール宣言。
import <iostream>; // インポート宣言。
export void hello() { // エクスポート宣言。
std::cout << "Hello world!\n";
}
// main.cpp
import helloworld; // インポート宣言。
int main() {
hello();
}
構文
export(オプション) module module-name module-partition(オプション) attr(オプション) ;
|
(1) | ||||||||
export declaration
|
(2) | ||||||||
export { declaration-seq(オプション) }
|
(3) | ||||||||
export(オプション) import module-name attr(オプション) ;
|
(4) | ||||||||
export(オプション) import module-partition attr(オプション) ;
|
(5) | ||||||||
export(オプション) import header-name attr(オプション) ;
|
(6) | ||||||||
module ;
|
(7) | ||||||||
module : private ;
|
(8) | ||||||||
1) モジュール宣言。 現在の翻訳単位がモジュールユニットであることを宣言します。
2,3) エクスポート宣言。 declaration または declaration-seq で宣言されたすべての名前空間スコープの宣言をエクスポートします。
4,5,6) インポート宣言。 モジュールユニット/モジュールパーティション/ヘッダユニットをインポートします。
7) グローバルモジュールフラグメントを開始します。
8) プライベートモジュールフラグメントを開始します。
| This section is incomplete |