我自己有一个 C++ 函数,它被赋予了一个引用变量,就像这样
public Draw(sfml::RenderWindow& window)
{
window.draw(Sprite);
}
基本上我将我的 renderwindow 变量作为对我的 drawObject 的引用传递,它有一个称为 Draw 的函数,它接受 renderwindow 引用并绘制图像。
函数完成后,是否会删除窗口引用变量并取消分配内存,或者会永远创建一个引用,并随着越来越多的渲染窗口引用而慢慢占用更多内存?
最佳答案
引用参数(或与此相关的变量)在 C++ 中不计算在内。出于实际目的,引用就像具有不同语法的普通指针,并且它们始终指向有效值(或者您的程序格式不正确并调用未定义的行为)。此外,不能重新绑定(bind)引用(因此在初始化之后,引用始终指向同一个对象)。
因此,与普通指针一样,引用不会强制对象延长生命周期(const type&
绑定(bind)返回的值 是一个显着的异常(exception))。与指针一样,您必须注意引用所引用的对象在引用本身存在的任何时候仍然存在。
关于c++ - 将引用传递给函数是否可以进行内存管理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26015064/