【发布时间】:2016-10-21 10:55:47
【问题描述】:
我想知道转换是否像:
int to long
int to long long
long to int
long long to int
long long to long
long to long long
和
long double to double
double to long double
(对于无符号也是类似的)是昂贵的操作。我们是否应该担心这种转换并为赋值定义正确的类型? (当然有损失精度的风险,但我不写它。我问的是性能)。
例如,如果我确定该号码可以存储在 int 类型中。我必须在函数中分配一些东西,例如:void writeToX(long long& x)。
传递给函数long long x而不是int x重要吗?
【问题讨论】:
-
顺便说一句,你不能将
int x;传递给void foo(long long&)。 -
您为什么不尝试一下并找出答案?查看汇编或创建一个测试程序,看看它是否运行得更慢。
-
"传递给函数 long long x 而不是 int x 重要吗?"使用正确大小的变量很重要。
标签: c++ c++11 type-conversion