将long类型的number传递给函数(引用vs值)(c++)
passing number of type long long into a function (reference vs value) (C++)
我不熟悉使用非双精度或整型数。我知道传递int或double类型应该按值传递(考虑到内存/速度),但我不确定如何将long long数据类型传递到函数中。
基本上,是否一个长而长的数字足够大,通过const引用传递比通过value传递更快?
考虑到一个长长数需要64位,并且差异很小,它应该是刚好的可以按值传递
一般来说,对于类或结构体,传递const引用是一种有效或更好的方法,但是当类或结构体的大小很小时,事情就变得棘手了,因为引用可能会引入额外的内存寻址和访问成本。
是否更快取决于您的编译器和计算机体系结构。long long
在编译器上并不总是可用的——尤其是32位编译器。一般来说,你可能不会注意到速度的差异,除非你经常调用函数。
的大小是否接近double或float也取决于你的编译器。但是在long long
和double
上,任何计算错误的机会都是一样大的——只是错误的大小不同(如果有的话)。
对于你所描述的,我会说按值传递。从本质上讲,我建议只在需要修改值并且需要将更改传播回调用函数时才通过引用传递—而不需要返回值。
相关文章:
- 解析引用 |exe/dll vs lib
- 未定义的引用和运算符 << vs me
- 返回引用实例和非引用实例(return mystr & vs mystr)之间的区别是什么?
- constexpr 函数的常量引用参数:gcc/msvc vs clang/icc
- 返回字符串vs通过引用传递字符串以更新值
- 为什么 VS 无法将右值引用绑定到指针?
- 本机 Nuget 包安装在 VS 中,但没有为C++(本机)项目添加引用
- 此指针 - 按值返回 vs 按引用返回
- 返回一个C++引用变量 VS 返回一个变量
- 尝试将 std::vector<std::p air<T, U>> 转换为其左值引用时收到 VS 编译器警告 C4239
- 返回对int vs vs返回c 函数中的int的引用
- 通过引用传递的param Vs的值的内存消耗
- (右值引用)VS(常量左值引用)作为C++11中的函数参数
- C++实例 VS 指针 VS 引用
- 当我们在使用VS的C++项目中引用库作为附加依赖项时,会发生什么
- 传递参数的方式——值vs引用vs指针
- 从函数返回值:引用vs结构
- 将long类型的number传递给函数(引用vs值)(c++)
- 无效地使用不完整类型,引用vs指针
- 解引用vs数组访问