• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

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

    履歴 編集

    <new>

    new

    <new>ヘッダは、プログラムが動的に記憶域を確保し、管理するための機能を定義し、記憶域の管理のエラー報告(例外の送出)についても定義する。このヘッダはグローバルネームスペースのnew演算子およびdelete演算子をオーバーロードする。placement new を行いたい場合などに用いる。

    本ヘッダはフリースタンディング環境でも提供される。

    名前 説明 対応バージョン
    bad_alloc 何らかの理由で記憶域の動的確保に失敗するなど、get_new_handler()nullptrを返した場合にスローされる例外(class)
    bad_array_new_length 動的に記憶域を確保しようとする配列の長さが0未満または処理系の最大値以上の場合にスローされる例外(class) C++11
    align_val_t デフォルトよりも大きなアライメントを要求するとき、new に渡されるアライメント値の型 C++17
    nothrow_t 例外をスローしないためのstd::nothrowの型
    new_handler new失敗時に呼ばれる関数の型
    destroying_delete_t destroying operator deleteを定義するためのタグ型 C++20

    関数

    名前 説明 対応バージョン
    get_new_handler new失敗時に呼ばれる関数を取得する(function) C++11
    launder 置き換えられたオブジェクトに適格にアクセスする(function) C++17
    set_new_handler new失敗時に呼ばれる関数を設定する(function)
    operator new 動的に記憶域を確保する(function)
    operator new[] 動的に配列の記憶域を確保する(function)
    operator delete 動的に確保した記憶域を解放する(function)
    operator delete[] 動的に確保した配列の記憶域を解放する(function)

    干渉サイズ

    名前 説明 対応バージョン
    hardware_destructive_interference_size 2つのオブジェクトに並行アクセスする際に、パフォーマンス低下を避けられる最小アライメントサイズ (variable) C++17
    hardware_constructive_interference_size 2つのオブジェクトに一時局所的にアクセスできる最大サイズ (variable) C++17