gpt4 book ai didi

c++ - 使用 C++ 样式转换将 int 转换为 char

转载 作者:IT老高 更新时间:2023-10-28 21:50:51 35 4
gpt4 key购买 nike

在传统的 C 中你可以这样做:

int i = 48;
char c = (char)i;
//Now c holds the value of 48.
//(Of course if i > 255 then c will not hold the same value as i).

哪些 c++ 转换方法(static_cast、reinterpret_cast)适合完成这项工作?

最佳答案

您可以在数值类型之间进行隐式转换,即使这样会丢失精度:

char c = i;

但是,您可能希望启用编译器警告以避免此类潜在的有损转换。如果这样做,则使用 static_cast 进行转换。

其他 Actor :

  • dynamic_cast 仅适用于多态类类型的指针或引用;
  • const_cast 不能更改类型,只能更改 constvolatile 限定符;
  • reinterpret_cast 用于特殊情况,在指针或引用与完全不相关的类型之间进行转换。具体来说,它不会进行数字转换。
  • C-style 和 function-style casts 执行任何 static_castconst_castreinterpret_cast 的组合来完成工作。

关于c++ - 使用 C++ 样式转换将 int 转换为 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899055/

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