Mis*_*tyD 5 c++ boost copy-constructor unique-ptr c++11
在阅读boost unique_ptr并在此链接上,它指出这样的指针无法复制,我理解,但它声明这样的指针可以从函数返回.当我从一个函数(而不是作为引用或指针)返回一些函数时,这引发了一个问题.复制构造函数被调用.这是否意味着唯一的ptr不能与赋值运算符一起使用并使用复制构造函数(这样只有ptr一次指向一个对象)它是否比增强shared_ptr更少的开销?我正在使用VS2010
And*_*owl 13
当从函数返回某些内容(而不是作为引用或指针)时,将调用复制构造函数.[...]
不必要.在C++ 11中,仅当移动构造函数不存在时才会选择复制构造函数.在没有移动构造函数的情况下,通常是移动(例如,在从函数返回值时)会衰减到副本.
unique_ptr有一个移动构造函数,这意味着unique_ptr可以通过函数的值返回.
它是否比提升shared_ptr更少的开销?
这是一个无关紧要的问题,但是,确实有较少的开销.实际上,它unique_ptr被设计为原始指针的零开销 RAII包装器,实现了独特的所有权.unique_ptr对于原始指针的使用,使用a 不会在性能方面或内存消耗方面造成任何损失.
| 归档时间: |
|
| 查看次数: |
478 次 |
| 最近记录: |