gpt4 book ai didi

c++ - 将 char 类型转换为 long

转载 作者:行者123 更新时间:2023-11-30 18:21:32 24 4
gpt4 key购买 nike

假设我有一个变量,a

char a = 0x01;

我想将其转换为 long,如

long b;
b = (long)a;

b中的高3个字节是否保证为0?在我的设置中,它们是 0,但我不确定这是否依赖于编译器。

最佳答案

是的,即使没有强制转换,b 也能保证在此赋值后具有值 0x1。 C++ 中的赋值运算符通常是语义或值驱动的,它将复制值或状态,而不是执行按位复制(即使两者有时是等效的,例如对于简单类型)。

在某些情况下,特别是由于运算符重载,情况可能并非如此。强烈鼓励开发人员在设计新类型时遵循这一概念,但是粗心的程序员可能会重载非基本类型的赋值运算符来执行他/她想要的任何操作。

关于c++ - 将 char 类型转换为 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41746754/

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