名前空間
変種
操作

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

提供: cppreference.com
< cpp‎ | memory‎ | unique ptr
 
 
ユーティリティライブラリ
汎用ユーティリティ
日付と時間
関数オブジェクト
書式化ライブラリ(C++20)
(C++11)
関係演算子 (C++20で非推奨)
整数比較関数
(C++20)
スワップと型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
一般的な語彙の型
(C++11)
(C++17)
(C++17)
(C++17)
(C++17)

初等文字列変換
(C++17)
(C++17)
 
動的メモリ管理
未初期化記憶域
ガベージコレクションサポート
その他
(C++20)
(C++11)
(C++11)
C のライブラリ
低水準のメモリ管理
 
 
template<class CharT, class Traits, class Y, class D>

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

                                              conststd::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 が文字型へのポインタ (つまり Ycharchar[] または CharT) の場合、これは operator<<ポインタ自身の値を表示するためのオーバーロードではなく、NULL終端文字列のためのオーバーロードを呼ぶことになります (ポインタが実際にはそのような文字列を指していない場合、未定義動作を発生します)。

[編集]

#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

[編集]関連項目

管理対象オブジェクトへのポインタを返します
(パブリックメンバ関数)[edit]
close