gpt4 book ai didi

c++ - 为什么我应该使用引用变量?

转载 作者:IT老高 更新时间:2023-10-28 21:56:34 25 4
gpt4 key购买 nike

作为我的第一门编程语言,我学习了 Java,但由于我转到另一所大学,我现在正在学习 C++。

来自 Java 并学习了 C++ 的基础知识,我阅读了有关引用和引用变量的内容。以及它们有多危险,以及如何小心对待它们等等。

所以在我的脑海中出现了一个简单的问题:我为什么要费心使用那种复杂的,因此可能会引起问题的东西?

这是值得的,还是只是 RAM 大约 64MB 大的时代的遗物?

由于很多答案都提到了指针:这个概念显然来自石器时代,恕我直言。除了高性能计算,我什至不会碰那些东西。

最佳答案

问题与引用本身无关。

问题在于,在 C++ 中,对象生命周期的管理方式与 Java 或其他使用垃圾收集器的运行时环境不同。 C++ 没有标准的内置垃圾收集器。 C++ 对象的生命周期可以是自动的(在本地或全局范围内)或手动的(在堆中显式分配/释放)。

C++ 引用只是对象的简单别名。它对对象生命周期一无所知(为了效率)。程序员必须关心它。一个异常(exception)是引用绑定(bind)到临时对象的特殊情况。在这种情况下,临时对象的生命周期会延长到绑定(bind)引用的生命周期。详情为 here .

引用是 C++ 基本概念的重要组成部分,您无法避免在 90% 的任务中使用它们。否则你必须使用指针,这通常更糟糕:-)

例如,当您需要将对象作为函数参数按引用而不是按值传递时,您可以使用引用:

void f(A copyOfObj);       // Passed by value, f receives copy of passed A instance
void f(A& refToObj); // Passed by ref, f receives passed A instance itself, modifiable
void f(const A& refToObj); // Passed by const ref, f receives passed A instance itself, non modifiable

关于c++ - 为什么我应该使用引用变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12728794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com