[英]Passing unique_ptr as reference parameter or const unique_ptr reference
我在std::vector<std::unique_ptr<MyObject>>
维护一些对象池,并将该池中的对象传递给函数void process(...)
。 我尚不清楚将这些对象之一传递给process()
函数的最佳方法。 如果我已经阅读了不同的答案和文章,那么最好将其作为常规参考传递如下: void process(MyObject& buffer);
据我了解,这是可取的,因为:
process()
方法的整个生命周期中都存在,因为它是由unique_ptr的所有者调用的,即调用方法 process()
方法 这是正确的理解还是正确的指导? 这是我已阅读的参考:将const unique_ptr参考作为参数传递
https://www.chromium.org/developers/smart-pointer-guidelines
https://herbsutter.com/2013/06/05/gotw-91-solution-smart-pointer-parameters/
是的,出于您的原因,这是明智的做法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.