将long类型的number传递给函数(引用vs值)(c++)

passing number of type long long into a function (reference vs value) (C++)

本文关键字:引用 vs c++ 函数 类型 long number      更新时间:2023-10-16

我不熟悉使用非双精度或整型数。我知道传递int或double类型应该按值传递(考虑到内存/速度),但我不确定如何将long long数据类型传递到函数中。

基本上,是否一个长而长的数字足够大,通过const引用传递比通过value传递更快?

考虑到一个长长数需要64位,并且差异很小,它应该是刚好的可以按值传递

一般来说,对于类或结构体,传递const引用是一种有效或更好的方法,但是当类或结构体的大小很小时,事情就变得棘手了,因为引用可能会引入额外的内存寻址和访问成本。

是否更快取决于您的编译器和计算机体系结构。long long在编译器上并不总是可用的——尤其是32位编译器。一般来说,你可能不会注意到速度的差异,除非你经常调用函数

的大小是否接近double或float也取决于你的编译器。但是在long longdouble上,任何计算错误的机会都是一样大的——只是错误的大小不同(如果有的话)。

对于你所描述的,我会说按值传递。从本质上讲,我建议只在需要修改值并且需要将更改传播回调用函数时才通过引用传递—而不需要返回值。