|
|
1
2
这不是一个优化。关闭优化不会使编译器在可执行代码中包含int到float的转换,除非它是一个 非常 执行质量差。 这也不是为了安全。编译器从不做任何“以防万一”的操作数恰好是不同类型的操作数。编译器知道代码中所有内容的类型。如果更改变量的类型,使用该变量的所有内容都会重新编译;编译器不会试图保持所有其他内容不变,而只是更新更改的部分。 |
|
|
2
0
是的,确实如此,所以这两个片段是等价的。唯一重要的是指定给的变量的类型。 |
|
|
3
0
这个 和 浮动y=123.f 浮动x=1/y 和 浮动x=1.f/y 如果y是一个整数,实际上会生成不同的结果。 它确实依赖于编译器——有些编译器可能会存储一个常量int,并在每次分配给浮点变量时将其转换。 |
|
4
0
有些情况下,编译器会将float强制转换为int,例如。
|
|
|
gd1234 · 编译器会知道跳过这个循环吗? 2 年前 |
|
|
ChrisB · 为什么Rust不为内存布局重新排序枚举中的字段? 2 年前 |
|
|
Hans · 避免在C++中优化未使用的变量? 3 年前 |