路过"const string &test"困扰着我



大家好,

关于这个问题,我很头疼Const表示内容未更改,但表示"&"意味着内容可以修改。那么,它们是如何结合在一起的呢?

amp;意味着内容是通过引用传递的,而不一定是经过修改的。相反,这意味着对象没有被复制,也就是说它的复制构造函数没有被调用来传递它。可能会出现混淆,因为引用的一个常见用法是允许被调用者修改被引用的对象。

const引用,如这里所示,是一种非常自然的方式来表示将在不复制对象的情况下传递对对象的引用,被调用者不会修改对象。当对象的复制成本很高,被调用者不需要修改它,并且不存在需要进行复制的相关生存期问题时,这是一种简单而有效的优化。

最新更新