モジュール (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 |