モジュール (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-namemodule-partition(オプション)attr(オプション); | (1) | ||||||||
export declaration | (2) | ||||||||
export { declaration-seq(オプション)} | (3) | ||||||||
export (オプション)import module-nameattr(オプション); | (4) | ||||||||
export (オプション)import module-partitionattr(オプション); | (5) | ||||||||
export (オプション)import header-nameattr(オプション); | (6) | ||||||||
module ; | (7) | ||||||||
module : private ; | (8) | ||||||||
1) モジュール宣言。 現在の翻訳単位がモジュールユニットであることを宣言します。
2,3) エクスポート宣言。 declaration または declaration-seq で宣言されたすべての名前空間スコープの宣言をエクスポートします。
4,5,6) インポート宣言。 モジュールユニット/モジュールパーティション/ヘッダユニットをインポートします。
7)グローバルモジュールフラグメントを開始します。
8)プライベートモジュールフラグメントを開始します。
This section is incomplete |