名稱空間
變體
操作

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

來自 cppreference.com
 
 
記憶體管理庫
(僅作說明*)
未初始化記憶體演算法
(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 member function) [編輯]