4

我知道引用比指针更受欢迎,但是更改所有这些“。”非常乏味。需要时“->”。那么始终使用指针而不是引用是否可以接受,以便在需要时轻松将它们转换为智能指针?或者有什么方法可以快速更改对指针的引用?

4

4 回答 4

15

因此,始终使用指针而不是引用是否可以接受,以便在需要时轻松将它们转换为智能指针

不,一般来说,总是规则总是不好的。(包括这个)。为什么要将引用转换为智能指针?如果是引用,则无需担心内存管理,这就是智能指针的目的。

或者有什么方法可以快速更改对指针的引用?

是的,取它的地址(&)。

于 2012-05-11T13:54:48.420 回答
1

更改架构只是为了方便源代码中的文本替换?

,这绝不是一个有效的设计决策。正如 Luchian 所解释的,这似乎并不是一个真正存在的考虑。

于 2012-05-11T13:54:24.580 回答
0

使用指针而不是引用不会使以后转换为智能指针变得更容易。您不能只用智能指针替换所有指针并期望任何东西都能工作;智能指针的语义与指针的语义有很大不同(通常不是你想要的)。

在具有值语义的类中使用指针而不是引用确实有意义,因为即使不是不可能,也很难用引用实现预期的赋值语义。智能指针与它无关。

于 2012-05-11T14:18:31.740 回答
-1

使用引用的目的是让事情变得更容易一些,因为您可以像使用常规的非指针变量一样使用它们。

但如果它不是更容易,甚至更难,我认为绝对没有理由使用它们。

使用指针没有任何问题。

于 2012-05-11T13:54:23.410 回答