来自 std::cout 的 C++11 std::shared_ptr<std::ostream>

标签 c++ c++11 shared-ptr

我在存储 std::cout 时遇到问题在std::shared_ptr<std::ostream> .

因为这显然不应该这样做:

std::shared_ptr<std::ostream> p_cout(&std::cout);

这甚至是不可能的,因为不可能复制 std::ostream:

std::shared_ptr<std::ostream> p_cout = std::make_shared<std::ostream>(std::cout);

有人知道合法的解决方法吗?

最佳答案

您的要求很奇怪,但您当然可以存储指向 std::ostream 的指针在shared_ptr<std::ostream>如果您采取适当的处置措施:例如:std::shared_ptr<std::ostream>(&std::cout, [](void*) {});

关于来自 std::cout 的 C++11 std::shared_ptr<std::ostream>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17220154/

相关文章:

c++ - 类型没有可行的重载 operator[]

c++ - 创建由共享指针 vector 的元素指向的对象的拷贝

c++ - 使用哪种类型的指针来实现对集合元素的共享访问?

c++ - 试图理解 boost 示例 httpserver3。 shared_ptr 重置方法不清楚

c++ - 作业dup2函数

c++ - 你能在 C++ 中的数组 i,e(+, -, *,/) 中存储算术运算符吗

c++ - 如何判断一个文件或文件夹是在固态硬盘上还是在硬盘上?

C++ 算法按以下顺序切换数组的顺序 : [Last, First, Last - 1, First + 1...]

c++11 - 我应该如何构造一个要使用 std::shared_ptr 管理的实例?

c++ - 编写可变参数模板构造函数