gpt4 book ai didi

c++ - 一个类型应该有多大才能通过引用而不是通过值传递?

转载 作者:搜寻专家 更新时间:2023-10-31 02:22:02 27 4
gpt4 key购买 nike

同时考虑移动语义,是否有一种截断定义何时通过引用传递而不是通过值传递更昂贵?

我总是看到示例按值使用基本类型,一些示例按引用使用 class。但是,如果我有一个小的 struct 或一个小的 class,按值而不是引用传递它们更好吗?

截止点在哪里?

最佳答案

按引用传递基本上是按指针传递(就效率而言)。

通过指针/引用传递是移动一段机器 native 长度的数据(又名:一个字,或 32 位机器上的 32 位等...)

因此,按值传递任何大小小于或等于 native 字的数据将与按指针/引用传递一样高效。

如果您的数据/对象大于此,则需要多个周期才能将其中的每个单词复制到堆栈。

当数据大小小于一个字时,按值传递不会提高效率。机器将执行一个拷贝,半个单词的时间与整个单词的时间一样长。

关于c++ - 一个类型应该有多大才能通过引用而不是通过值传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793227/

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