我有一个占用1MB内存的对象(即图像)。 我将此图像传递给一个修改它的函数。 如果我通过引用将此图像传递给函数,是否会复制整个1MB,或仅将其放在内存中?
答案 0 :(得分:11)
不只是一个指针 - 引用只是一个带有花哨语法的指针,所以它不会吓到孩子。
答案 1 :(得分:6)
按引用传递会为对象创建别名。使用的唯一内存是分配用于保存别名的堆栈空间。
答案 2 :(得分:2)
只是对象的引用位置将被传递到堆栈。
我们在这里很清楚,这仅适用于C ++。在C中,您总是按值传递。您可以通过传入指针位置来模仿传递引用(如果我没有弄错的话,无论如何,这都是C ++中的引用工作方式)。
答案 3 :(得分:2)
通过引用传递时,不要复制对象,只复制对象的引用。这是通过引用传递的全部内容。
答案 4 :(得分:1)
只是对图像对象的引用被发送到函数,而不是整个图像。