草庐IT

gray8_ptr_t

全部标签

c++ - std::unordered_map<T,std::unique_ptr<U>> 可复制?海湾合作委员会错误?

g++--version产量:g++.exe(x86_64-posix-seh-rev0,BuiltbyMinGW-W64project)4.9.1Copyright(C)2014FreeSoftwareFoundation,Inc.Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNOwarranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.程序:#include#include#includestatic_assert(!std::is_cop

c++ - std::unordered_map<T,std::unique_ptr<U>> 可复制?海湾合作委员会错误?

g++--version产量:g++.exe(x86_64-posix-seh-rev0,BuiltbyMinGW-W64project)4.9.1Copyright(C)2014FreeSoftwareFoundation,Inc.Thisisfreesoftware;seethesourceforcopyingconditions.ThereisNOwarranty;notevenforMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.程序:#include#include#includestatic_assert(!std::is_cop

c++ - 与 auto_ptr 声明不同,unique_ptr 声明是否在其模板类型为不完整类型时是明确定义的?

我写了thisarticle并得到了一些让我感到困惑的评论。这基本上归结为我看过T2仅用作模板参数,并错误地得出结论,因此我可以借此机会进行前向声明:structT2;structT1{std::auto_ptrobj;};如果我不继续定义T2,这将调用UB在同一个TU的某个地方,因为std::auto_ptr来电delete在其内部T2*,和callingdeleteonanpointertoanobjectofanincompletetypewhosecompletetypehasanon-trivialdestructorisundefined:[C++11:5.3.5/5]:I

c++ - 与 auto_ptr 声明不同,unique_ptr 声明是否在其模板类型为不完整类型时是明确定义的?

我写了thisarticle并得到了一些让我感到困惑的评论。这基本上归结为我看过T2仅用作模板参数,并错误地得出结论,因此我可以借此机会进行前向声明:structT2;structT1{std::auto_ptrobj;};如果我不继续定义T2,这将调用UB在同一个TU的某个地方,因为std::auto_ptr来电delete在其内部T2*,和callingdeleteonanpointertoanobjectofanincompletetypewhosecompletetypehasanon-trivialdestructorisundefined:[C++11:5.3.5/5]:I

c++ - boost::shared_ptr<T> 和 boost::shared_ptr<const T> 是否共享引用计数?

关于boost::shared_ptr的陷阱有几个有趣的问题。s。其中之一是避免指向boost::shared_ptr的有用提示。和boost::shared_ptr到Derived类型的同一对象因为它们使用不同的引用计数并可能过早地销毁对象。我的问题:同时拥有boost::shared_ptr是否安全?和boost::shared_ptr指向T类型的同一对象,或者这会导致同样的问题吗? 最佳答案 绝对安全。以下代码示例:#include#includeintmain(int,char**){boost::shared_ptra(n

c++ - boost::shared_ptr<T> 和 boost::shared_ptr<const T> 是否共享引用计数?

关于boost::shared_ptr的陷阱有几个有趣的问题。s。其中之一是避免指向boost::shared_ptr的有用提示。和boost::shared_ptr到Derived类型的同一对象因为它们使用不同的引用计数并可能过早地销毁对象。我的问题:同时拥有boost::shared_ptr是否安全?和boost::shared_ptr指向T类型的同一对象,或者这会导致同样的问题吗? 最佳答案 绝对安全。以下代码示例:#include#includeintmain(int,char**){boost::shared_ptra(n

c++ - 从 pcl::PointCloud 创建 pcl::PointCloud::Ptr

我想知道这是否可能。我有一个功能:pcl::PointCloudcreatePointCloud(std::Vectorinput)返回一个点云。我想知道是否可以获取这个点云,并制作一个指向它的拷贝的指针。pcl像这样指向云:pcl::PointCloud::PtrcloudPTR(newpcl::PointCloud)我试过这样做:pcl::PointCloud::PtrcloudPTR(createPointCloud(nodeList))这会导致一个非常明显的错误,即。createPointCloud不返回指向云的指针。我也试过这个:pcl::PointCloud::Ptrclo

c++ - 从 pcl::PointCloud 创建 pcl::PointCloud::Ptr

我想知道这是否可能。我有一个功能:pcl::PointCloudcreatePointCloud(std::Vectorinput)返回一个点云。我想知道是否可以获取这个点云,并制作一个指向它的拷贝的指针。pcl像这样指向云:pcl::PointCloud::PtrcloudPTR(newpcl::PointCloud)我试过这样做:pcl::PointCloud::PtrcloudPTR(createPointCloud(nodeList))这会导致一个非常明显的错误,即。createPointCloud不返回指向云的指针。我也试过这个:pcl::PointCloud::Ptrclo

c++ - std::make_shared、std::unique_ptr 和移动构造函数

以下代码使用clang3.0/libc++编译:#includeclassFoo{public:Foo():mem_(newint(10)){}std::unique_ptrmem_;};intmain(){autofoo=std::make_shared();return0;}但是这个没有(std::string参数加了):#include#includeclassFoo{public:Foo(conststd::string&s):mem_(newint(10)){}std::unique_ptrmem_;};intmain(){autofoo=std::make_shared("

c++ - std::make_shared、std::unique_ptr 和移动构造函数

以下代码使用clang3.0/libc++编译:#includeclassFoo{public:Foo():mem_(newint(10)){}std::unique_ptrmem_;};intmain(){autofoo=std::make_shared();return0;}但是这个没有(std::string参数加了):#include#includeclassFoo{public:Foo(conststd::string&s):mem_(newint(10)){}std::unique_ptrmem_;};intmain(){autofoo=std::make_shared("