<memory>

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

#include <memory>

メンバー

関数

addressof

オブジェクトの実際のアドレスを取得します。

align

指定されたアラインメントと開始アドレスに基づいて特定のサイズの範囲へのポインターを返します。

allocate_shared

指定されたアロケーターを使用し、特定の型に割り当てられ構築されたオブジェクトに対して shared_ptr を作成します。

checked_uninitialized_copy

uninitialized_copy と同じですが、出力反復子としてチェックを行う反復子の使用を強制します。

checked_uninitialized_fill_n

uninitialized_fill_n と同じですが、出力反復子としてチェックを行う反復子の使用を強制します。

const_pointer_cast

shared_ptr への定数キャストを行います。

declare_no_pointers

指定されたアドレスを先頭とする指定されたブロック サイズの範囲内にある文字が、追跡可能なポインターを含まないことをガベージ コレクターに通知します。

declare_reachable

指定されたアドレスが、割り当てられたストレージのアドレスであり、そのストレージに到達可能であることをガベージ コレクションに通知します。

default_delete

operator new を使用して割り当てられたオブジェクトを削除します。 unique_ptr での使用に適しています。

dynamic_pointer_cast

shared_ptr への動的キャストを行います。

get_deleter

shared_ptr から削除子を取得します。

get_pointer_safety

ガベージ コレクターが想定するポインターの安全性の種類を返します。

get_temporary_buffer

指定した要素数を上限とする要素シーケンスに対し、一時的なストレージを割り当てます。

make_shared

既定のアロケーターを使用してゼロ以上の引数から構築された割り当て済みオブジェクトを指し示す shared_ptr を作成し、返します。

make_unique

ゼロ以上の引数から構築された割り当て済みオブジェクトを指し示す unique_ptr を作成し、返します。

owner_less

共有ポインターとウィーク ポインターの所有権ベースの混合型比較を実行します。

pointer_safety

get_pointer_safety のすべての可能な戻り値の列挙体です。

return_temporary_buffer

get_temporary_buffer テンプレート関数を使用して割り当てられた一時メモリを解放します。

static_pointer_cast

shared_ptr への静的キャストを行います。

swap

2 つの shared_ptr または weak_ptr オブジェクトを交換します。

unchecked_uninitialized_copy

uninitialized_copy と同じですが、_SECURE_SCL=1 が定義されているときに、出力反復子としてチェックを行わない反復子を使用できます。

unchecked_uninitialized_fill_n

uninitialized_fill_n と同じですが、_SECURE_SCL=1 が定義されているときに、出力反復子としてチェックを行わない反復子を使用できます。

undeclare_no_pointers

ベース アドレス ポインターとブロック サイズで定義されたメモリ ブロック内の文字が、追跡可能なポインターを含む可能性があることをガベージ コレクターに通知します。

undeclare_reachable

指定されたメモリ位置に到達できないことを garbage_collector に通知します。

uninitialized_copy

指定された入力範囲にあるオブジェクトを、初期化されていないコピー先の範囲にコピーします。

uninitialized_copy_n

入力反復子から、指定した数の要素のコピーを作成します。 コピーは前方反復子に格納されます。

uninitialized_fill

指定された値のオブジェクトを、初期化されていないコピー先の範囲にコピーします。

uninitialized_fill_n

指定された値のオブジェクトを、初期化されていないコピー先の範囲にある指定された数の要素にコピーします。

演算子

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

Ptr テンプレート クラスのオブジェクトが、ポインター型 allocator_traits を持つアロケーターを記述するために必要とする情報を提供します。

raw_storage_iterator

アルゴリズムの結果を初期化されていないメモリに格納するために用意されたアダプター クラスです。

shared_ptr

参照カウント スマート ポインターを、動的に割り当てられたオブジェクトにラップします。

unique_ptr

所有されているオブジェクトへのポインターを格納します。 このポインターは、この unique_ptr によってのみ所有されます。 unique_ptr は所有者が破棄されたときに破棄されます。

weak_ptr

関連付けの弱いポインターをラップします。

特殊化

allocator<void>

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

参照

関連項目

C++ 標準ライブラリ内のスレッド セーフ

その他の技術情報

<memory> メンバー

C++ 標準ライブラリのヘッダー ファイル