<memory>

メモリの割り当てとオブジェクトの解放を支援するクラス、演算子、および各種テンプレートを定義します。

必要条件

ヘッダー:<memory>

名前空間: std

メンバー

関数

名前 説明
addressof オブジェクトの実際のアドレスを取得します。
align 指定されたアラインメントと開始アドレスに基づいて特定のサイズの範囲へのポインターを返します。
allocate_shared 指定されたアロケーターを使用し、特定の型に割り当てられ構築されたオブジェクトに対して shared_ptr を作成します。
atomic_compare_exchange_strong
atomic_compare_exchange_weak
atomic_compare_exchange_strong_explicit
atomic_compare_exchange_weak_explicit
atomic_exchange
atomic_exchange_explicit
atomic_is_lock_free
atomic_load
atomic_load_explicit
atomic_store
atomic_store_explicit
const_pointer_cast shared_ptr への定数キャストを行います。
declare_no_pointers 指定されたアドレスを先頭とする指定されたブロック サイズの範囲内にある文字が、追跡可能なポインターを含まないことをガベージ コレクターに通知します。
declare_reachable 指定されたアドレスが、割り当てられたストレージのアドレスであり、そのストレージに到達可能であることをガベージ コレクションに通知します。
default_delete operator new を使用して割り当てられたオブジェクトを削除します。 unique_ptr での使用に適しています。
destroy_at 短縮形 destroy メソッド。
destroy 短縮形 destroy メソッド。
destroy_n 短縮形 destroy メソッド。
dynamic_pointer_cast shared_ptr への動的キャストを行います。
get_deleter shared_ptr から削除子を取得します。
get_pointer_safety ガベージ コレクターが想定するポインターの安全性の種類を返します。
get_temporary_buffer 指定した要素数を上限とする要素シーケンスに対し、一時的なストレージを割り当てます。
make_shared 既定のアロケーターを使用してゼロ以上の引数から構築された割り当て済みオブジェクトを指し示す shared_ptr を作成し、返します。
make_unique 0 以上の引数から構築された割り当て済みオブジェクトを指し示す unique_ptr を作成し、返します。
pointer_safety get_pointer_safety のすべての可能な戻り値の列挙体です。
return_temporary_buffer get_temporary_buffer テンプレート関数を使用して割り当てられた一時メモリを解放します。
static_pointer_cast shared_ptr への静的キャストを行います。
スワップ 2 つの shared_ptr または weak_ptr オブジェクトを交換します。
undeclare_no_pointers ベース アドレス ポインターとブロック サイズで定義されたメモリ ブロック内の文字が、追跡可能なポインターを含む可能性があることをガベージ コレクターに通知します。
undeclare_reachable 指定されたメモリ位置に到達できないことを garbage_collector に通知します。
uninitialized_copy 指定された入力範囲にあるオブジェクトを、初期化されていないコピー先の範囲にコピーします。
uninitialized_copy_n 入力反復子から、指定した数の要素のコピーを作成します。 コピーは前方反復子に格納されます。
uninitialized_default_construct 短縮形 uninitialized_default_construct メソッド。
uninitialized_default_construct_n 短縮形 uninitialized_construct メソッド。
uninitialized_fill 指定された値のオブジェクトを、初期化されていないコピー先の範囲にコピーします。
uninitialized_fill_n 指定された値のオブジェクトを、初期化されていないコピー先の範囲にある指定された数の要素にコピーします。
uninitialized_move 短縮形 uninitialized_move メソッド。
uninitialized_move_n 短縮形 uninitialized_move メソッド。
uninitialized_value_construct 短縮形 uninitialized_value_construct メソッド。
uninitialized_value_construct_n 短縮形 uninitialized_value_construct メソッド。
uses_allocator_v

演算子

名前 説明
operator!= 指定したクラスのアロケーター オブジェクト間の非等値をテストします。
operator== 指定したクラスのアロケーター オブジェクト間の等値をテストします。
operator>= 指定したクラスの 1 つ目のアロケーター オブジェクトが 2 つ目のアロケーター オブジェクト以上であるかどうかをテストします。
operator< 指定したクラスの 1 つ目のオブジェクトが 2 つ目のオブジェクト未満であるかどうかをテストします。
operator<= 指定したクラスの 1 つ目のオブジェクトが 2 つ目のオブジェクト以下であるかどうかをテストします。
operator> 指定したクラスの 1 つ目のオブジェクトが 2 つ目のオブジェクトを超えるかどうかをテストします。
operator<< shared_ptr の挿入演算子です。

クラス

名前 説明
allocator このクラス テンプレートは、Type 型のオブジェクトの配列に対し、ストレージの割り当てと解放を管理するオブジェクトを記述します。
allocator_traits アロケーター対応のコンテナーが必要とするすべての情報を指定したオブジェクトを記述します。
auto_ptr このクラス テンプレートは、Type* 型の割り当てられたオブジェクトを指すポインターを格納し、それが指すオブジェクトを囲んでいる auto_ptr が破棄されたときに、そのオブジェクトを確実に削除するオブジェクトを記述します。
bad_weak_ptr weak_ptr が無効であることを示す例外を報告します。
enabled_shared_from_this shared_ptr の生成を支援します。
pointer_traits allocator_traits 型のオブジェクトが、ポインター型 Ptr を持つアロケーターを記述するために必要とする情報を提供します。
raw_storage_iterator アルゴリズムの結果を初期化されていないメモリに格納するために用意されたアダプター クラスです。
shared_ptr 参照カウント スマート ポインターを、動的に割り当てられたオブジェクトにラップします。
unique_ptr 所有されているオブジェクトへのポインターを格納します。 このポインターは、この unique_ptr によってのみ所有されます。 unique_ptr は所有者が破棄されたときに破棄されます。
weak_ptr 関連付けの弱いポインターをラップします。

構造体

名前 説明
allocator_arg_t
default_delete
ハッシュ unique_ptrshared_ptr に特化したオーバーロードを提供します。
owner_less 共有ポインターとウィーク ポインターの所有権ベースの混合型比較を実行します。
uses_allocator

特殊化

名前 説明
allocator<void> void 型へのクラス テンプレートのアロケーターを特殊化し、この特殊なコンテキストで意味を持つメンバー型のみを定義します。

関連項目

ヘッダー ファイル リファレンス
C++ 標準ライブラリ内のスレッド セーフ