名前空間
変種
操作

std::unique_ptr<T,Deleter>::operator<<

From cppreference.com
< cpp‎ | memory‎ | unique ptr
 
 
メモリ管理ライブラリ
(説明用*)
未初期化メモリのアルゴリズム
(C++17)
(C++17)
(C++17)
制約付き未初期化
メモリアルゴリズム
Cライブラリ

アロケータ
メモリリソース
ガベージコレクションのサポート
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
未初期化ストレージ
(C++20まで*)
(C++20まで*)
明示的な生存期間管理
 
 
template< class CharT, class Traits, class Y, class D >

std::basic_ostream<CharT, Traits>& operator<<( std::basic_ostream<CharT, Traits>& os,

                                               const std::unique_ptr<Y, D>& p );
(C++20以降)

pが管理するポインタの値を、出力ストリームosに挿入します。

os << p.get()と等価です。

os << p.get()が有効な式である場合にのみ、オーバーロード解決に参加します。

目次

[編集] パラメータ

os - pを挿入するstd::basic_ostream
p - osに挿入されるポインタ

[編集] 戻り値

os

[編集] 注記

もしstd::unique_ptr<Y, D>::pointerが文字型へのポインタ(例えば、Ychar([])またはCharT([])の場合)であると、ポインタの値自体を印刷するためのオーバーロードの代わりに、ヌル終端文字列ストリームoperator<<のオーバーロードが呼び出される可能性があります(ポインタが実際にそのような文字列を指していない場合、未定義の動作を引き起こします)。

[編集]

#include <iostream>
#include <memory>
 
class Foo {};
 
int main()
{
    auto p = std::make_unique<Foo>();
    std::cout << p << '\n';
    std::cout << p.get() << '\n';
}

実行結果の例

0x6d9028
0x6d9028

[編集] 関連項目

管理対象オブジェクトへのポインタを返す
(public メンバ関数) [編集]
English 日本語 中文(简体) 中文(繁體)