gpt4 book ai didi

c++ - c++ 中从 long 到 double 的静态转换与使用 double 构造函数有何不同?

转载 作者:行者123 更新时间:2023-11-30 01:39:10 24 4
gpt4 key购买 nike

我习惯于执行 1. 将下面的代码强制转换为浮点计算,但我突然想到:与 2. 在行为上有什么不同吗?它看起来确实不那么整洁。

long blah = 3;

// 1

double d1 = 1 / static_cast<double>(blah);

// 2 note: not C-style (double) blah

double d2 = 1 / double(blah);

最佳答案

使用像构造函数这样的标量类型,以及等效的“C 风格”转换语法,是 static_castconst_cast 和/或 reinterpret_cast 的简写,以需要的为准。由于它不精确,因此可以掩盖错误。

在这种情况下,对于内置数字类型之间的所有转换,C 风格转换与 static_cast 相同。尽管如此,许多 C++ 用户(包括我)仍然认为这是一个坏习惯。

关于c++ - c++ 中从 long 到 double 的静态转换与使用 double 构造函数有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46252284/

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