gpt4 book ai didi

c++ - 隐式转换会丢失信息吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:09:13 24 4
gpt4 key购买 nike

根据 https://www.learncpp.com/cpp-tutorial/44-implicit-type-conversion-coercion/

"The important thing to remember about promotions is that they are always safe, and no data loss will result."

但是https://www.geeksforgeeks.org/type-conversion-in-c/指出:

"It is possible for implicit conversions to lose information, signs can be lost (when signed is implicitly converted to unsigned), and overflow can occur (when long long is implicitly converted to float)."

我知道隐式转换是安全的,但我不明白如何不会导致数据丢失。哪个是准确的?

最佳答案

第一篇文章讲的是提升,这是一种特定类型的隐式转换。还有其他类型的转换也是隐式转换但不是促销。提升是一种特定类型的隐式转换,它不会丢失信息,因为您总是要使用更广泛的类型,即一种类型,其中被提升的类型可表示的所有值都可由提升为类型表示( int -> long long 例如)

其他隐式转换包括:从有符号到无符号、收缩转换、 float 到整数的转换。与促销不同,这些转换可能会丢失信息。

关于c++ - 隐式转换会丢失信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57278113/

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