【发布时间】:2018-04-12 04:45:26
【问题描述】:
我正在学习 c++,最近我读了一本书,其中建议您应该尽可能使用对 const 的引用(如果不会更改基础对象)。
我有一个问题,如果可能的话,您是否应该将引用传递给 const 指针而不是 const 指针,因为引用会阻止复制。如果不是,我什么时候应该使用对 const 指针的引用。
例如:
Node(..., Node *const next = nullptr);
或
Node(..., Node* const& next = nullptr);
【问题讨论】:
-
可能永远不会。
-
当您编写一个不知道其模板参数是否为指针的模板时,您可能会使用对指针的引用。否则,使用对指针的引用既尴尬又低效。
-
通过引用传递是有意义的,但是对于智能指针,如果不是原始指针,以避免增加引用计数。
标签: c++ constants pass-by-reference pass-by-pointer