gpt4 book ai didi

c++ - 将引用传递给函数是否可以进行内存管理?

转载 作者:行者123 更新时间:2023-11-28 02:40:57 32 4
gpt4 key购买 nike

我自己有一个 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/

32 4 0
文章推荐: c# - 将 HTML 文本区域/文本框中的文本读取到 C# 代码隐藏中。 (ASP.NET)
文章推荐: C# 和 HTML 敏捷包 - 返回空值
文章推荐: html - css 文本装饰 :none; in chrome with inside of
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com