如何将boost::元组分配给boost::shared_ptr
How to assign a boost::tuple to boost::shared_ptr
在我的代码中,我有这样的内容
shrd_ptr_obj st = boost::make_shared<Myobj>();
Myobj tp = boost::make_tuple(0,0,0,0,0 );
如何使st指向tp
自然的方法是将构造函数参数传递给make_shared
,并在同一行创建对象。
shrd_ptr_obj st = boost::make_shared<Myobj>(boost::make_tuple(0,0,0,0,0));
如果你想在单独的步骤中构造对象,你需要用new
分配tp
,而不是在堆栈上创建它。然后,您可以从这个new
ed指针创建一个boost::shared_ptr
。
Myobj *tp = new Myobj(boost::make_tuple(0,0,0,0,0));
shrd_ptr_obj st = boost::shared_ptr<Myobj>(tp);
相关文章:
- 理解boost::asio-async_read在无需读取内容时的行为
- boost::进程间消息队列引发错误
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- cmake如何在fedora工作站中找到boost静态库包
- CMake项目Boost库错误:Boost/config/compiler/gcc.hpp:165:10:致命错误:cs
- Boost Graph Library,修复节点大小
- 什么是"#include <boost/functional/hash.hpp> "?
- 基于boost的程序的静态链接——zlib问题
- C++:如何在CLion IDE中安装Boost
- C++Boost Asio Pool线程,带有lambda函数和传递引用变量
- 如何在boost beast http请求中设置http头
- Boost Spirit,获取迭代器内部语义动作
- boost::asio::steady_timer()与sleep()我应该使用哪一个
- boost::asio如何生成多个协同程序,然后加入它们
- 当我尝试使用 sstream 和分面将 Boost Time_duration转换为字符串时,我没有得到所需的格式
- 链接 boost 库时"Error while loading shared libraries"引发的,除了我无法使用 root 访问权限来修复它
- boost::shared_ptr和std::shared-ptr的同居
- 将GoogleMock与Boost::Shared Pointers一起使用时泄漏的Mock对象
- 我可以用std::shared_ptr而不是boost::shared-ptr构建boost库吗
- QSharedPointer VS std::tr1::shared_ptr VS boost::tr1::shared