gpt4 book ai didi

c - 双重类型转换与双重功能

转载 作者:太空宇宙 更新时间:2023-11-04 02:37:52 25 4
gpt4 key购买 nike

我见过在 C 中将 int 转换为 double 的两种不同方法:

double double_var = (double) int_var;
double double_var = double(int_var);

这两种方法有什么区别?我什么时候应该使用一个而不是另一个?

最佳答案

作为Jonathan Leffler stated ,第一个来自 C,第二个来自 C++:

第一个是 C 风格的转换;第二个是通过向构造函数传递一个 int 值来实例化 double

所以第二个并不是真正的强制转换,而是创建一个新实例(因此它更像是 C++ 而不是 C)。

如果您只执行一些 C,那么使用构造函数是不相关的(C 中没有面向对象编程,这是 C++ 的特性)。

如果你正在做一些 C++ 那么你应该避免 C 风格的转换(如@BitTickler 所述),因为根据你使用它的值的类型可能会出现问题。 C++ 为多种情况提供了多种类型转换。

参见 this answer了解更多信息。

关于c - 双重类型转换与双重功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35143598/

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