gpt4 book ai didi

c++ - 按值传递基元

转载 作者:太空宇宙 更新时间:2023-11-04 16:07:26 26 4
gpt4 key购买 nike

我正在阅读 Scott Meyrses C++,现在阅读有关 passing-reference-to-const 的部分。他说,对于用户定义的类型,通过对常量的引用传递它几乎总是好的,这与内置类型不同。

我的问题是为什么内置类型应该按值传递。为什么效率更高?我认为,可以将它们放入寄存器中,但这是唯一的原因吗?

最佳答案

当您传递一个引用时,它实际上是在传递一个指针。这比传递可能非常大的整个结构更有效。

原始类型的大小都与指针大致相同(最坏的情况下它们可能是指针的两倍大)。有些甚至更小——char 是 1 个字节,而指针通常是 4 或 8 个字节。因此,通过引用传递而不是传递值本身不会提高效率。

关于c++ - 按值传递基元,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33139576/

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