gpt4 book ai didi

c++ - 返回与使用引用参数

转载 作者:IT老高 更新时间:2023-10-28 22:13:58 26 4
gpt4 key购买 nike

这真的让我很烦,来自 C# 背景。

有时,我看到这样写的函数:

int computeResult();

这是我习惯的。但后来我看到它们是这样写的:

void computeResult(int &result);

我觉得这很奇怪。如果有的话,第二种方法比第一种方法有什么好处?一定有什么,因为我经常看到。

最佳答案

此类非常量引用参数有两个常见原因:

  • 您可能需要在一个函数中使用多个“out”参数,而使用引用参数可以做到这一点。

  • 你的对象复制起来可能很昂贵,所以你传入一个将被改变的引用,而不是返回一个可能被复制的对象作为返回过程的一部分。昂贵的复制对象可能包括标准容器(如 vector)和管理堆内存的对象,其中会发生分配-复制-解除分配序列。请注意,编译器在可能的情况下非常擅长优化这些拷贝,因此这个原因的导入量比以前少了。

编辑:我应该澄清,即使在 C++ 中,您提供的带有单个内置类型引用参数的特定示例也非常不典型。在这种情况下,返回值几乎总是首选。

关于c++ - 返回与使用引用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12083451/

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