gpt4 book ai didi

c++ - 将 char 用于小整数 (C++)

转载 作者:IT老高 更新时间:2023-10-28 21:37:31 25 4
gpt4 key购买 nike

我读到可以将“char”用于小整数。但是,当我尝试时,

unsigned char A = 4;
std::cout << A << std::endl;

它给出一个字符,而不是 4。

最佳答案

您正在经历的是运算符重载的影响。 <<运算符假设当您将一个类型为 char 的变量传递给一个字符时,您很可能想要打印该字符。 ,因此它的行为与您对整数变量的预期不同。

根据 Vivek Goel 的建议你可以强制编译器选择你真正想要的重载:

unsigned char A = 4;
std::cout << static_cast<unsigned int>(A) << std::endl;

附录:除非您在资源严重受限(尤其是内存很小)的环境中工作,否则您的优化是错误的。 unsigned int上的操作通常比 unsigned char 更快,因为您的处理器无法获取单个字节,但必须至少获得 4 的倍数并屏蔽其他 3 个字节。

关于c++ - 将 char 用于小整数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055308/

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