跳到主要内容

std::shared_ptr<T>::operator<<

声明

template< class T, class U, class V >
std::basic_ostream<U, V>&
operator<<( std::basic_ostream<U, V>& os, const std::shared_ptr<T>& ptr );

将 ptr 中存储的指针的值插入到输出流 os 中。

等同于 os << ptr.get()

参数

os - 要将 ptr 插入其中的 std::basic_ostream
ptr - 要插入 os 中的数据

返回值

os

示例

#include <iostream>
#include <memory>

class Foo {};

int main()
{
auto sp = std::make_shared<Foo>();
std::cout << sp << '\n';
std::cout << sp.get() << '\n';
}
结果
0x6d9028
0x6d9028

std::shared_ptr<T>::operator<<

声明

template< class T, class U, class V >
std::basic_ostream<U, V>&
operator<<( std::basic_ostream<U, V>& os, const std::shared_ptr<T>& ptr );

将 ptr 中存储的指针的值插入到输出流 os 中。

等同于 os << ptr.get()

参数

os - 要将 ptr 插入其中的 std::basic_ostream
ptr - 要插入 os 中的数据

返回值

os

示例

#include <iostream>
#include <memory>

class Foo {};

int main()
{
auto sp = std::make_shared<Foo>();
std::cout << sp << '\n';
std::cout << sp.get() << '\n';
}
结果
0x6d9028
0x6d9028