◐ Shell
clean mode source ↗

モジュール (C++20以上) - cppreference.com

提供: 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) プライベートモジュールフラグメントを開始します。