最終更新日時(UTC):
が更新

履歴 編集

std(C++23)

std は、すべてのC++標準ライブラリ(C++ライブラリおよびC言語互換ライブラリ)の内容を含むモジュール

import std;

int main() {
  std::println("Hello, world!");
}

ただし、モジュールではマクロをエクスポートできないため、標準ライブラリで定義されるマクロは含まない。

import std;

int main() {
  assert(0 < 1); // エラー: assertはマクロなので含まない
}

マクロを使用したい場合、対応するヘッダーファイルをインクルード(または、ヘッダーユニットとしてインポート)する必要がある。

import std;
#include <cassert>

int main() {
  assert(0 < 1); // OK
}

このモジュールは、C言語互換ライブラリの内容をグローバル名前空間には導入しない。

import std;

int main() {
  std::printf("Hello, world!"); // OK
  printf("Hello, world!");      // エラー: グローバル名前空間では定義されない

  std::size_t x = 0;            // OK
  size_t y = 0;                 // エラー: グローバル名前空間では定義されない
}

グローバル名前空間にも定義を導入したい場合、std.compatを使用できる。

バージョン

言語

  • C++23

処理系

関連項目

参照