Reference本身如何传递

时间:2014-05-16 13:55:00

标签: c++ reference parameter-passing pass-by-reference pass-by-value

作为值语义语言,C++按值传递所有参数。因此,当我将指针传递给对象时,对象通过引用传递,但pointer本身是通过值传递(尽管我相信对象是< strong>未通过,只有pointer,我们通过引用访问函数中的对象。我认为这个想法也符合值语义,因为如果我这样想,值语义会变得更有意义,除了值之外什么都不会传递。

因此,这种方式对pointer有意义,因为pointer某事物本身就是一个对象,它同时包含lvaluervalue。在传递pointer作为参数时,会发送rvalue的副本,就像任何其他对象一样(例如传递整数)。

但是reference呢?从理论上讲,reference不是任何单个对象,id没有任何标识,只是它所引用的对象的别名。 reference的常见实现可能位于pointer的顶部,但不常见的实现呢?即使按pointer实现,它是否按值传递?

0 个答案:

没有答案