C++ 追加位以增加字符的大小
是否有任何方法可以附加特定变量的大小?例如,如果我有:C++ 追加位以增加字符的大小,c++,C++,是否有任何方法可以附加特定变量的大小?例如,如果我有: static_cast<char>(0x0147) static_cast(0x0147) 一个8位字符,我想在不改变数据类型的情况下增加到16位,这可能吗?不 物体的大小不仅与其类型有关;大小由类型定义 你不能改变一个,也不能改变另一个 只要从这个char初始化一个新的int16\t,如果这是您想要的 或者,您可以拥有一个向量,并根据需要向该集合添加新元素 (移动与此无关;这与转换数据有关。)否 物体的大小不仅与其类型有关
static_cast<char>(0x0147)
static_cast(0x0147)
一个8位字符,我想在不改变数据类型的情况下增加到16位,这可能吗?不
物体的大小不仅与其类型有关;大小由类型定义
你不能改变一个,也不能改变另一个
只要从这个char
初始化一个新的int16\t
,如果这是您想要的
或者,您可以拥有一个向量
,并根据需要向该集合添加新元素
(移动与此无关;这与转换数据有关。)否
物体的大小不仅与其类型有关;大小由类型定义
你不能改变一个,也不能改变另一个
只要从这个char
初始化一个新的int16\t
,如果这是您想要的
或者,您可以拥有一个向量
,并根据需要向该集合添加新元素
(移动与此无关;这与转换数据有关。)数据类型非常明确地指定了对象的大小。您能提供一个更全面的示例吗?在静态类型语言(如C++)的上下文中,当前所呈现的内容并不太有意义。你是不是在想
std::variant
?为什么不使用std::uint16\u t
来表示16位无符号?不知道为什么这会被否决,人们会在这里发疯lol不要过度认为Lightness的答案完全可以接受。@Rob:我同意,这是一个有趣的问题,而目前的单一答案也没那么糟糕。支持并投票重新打开。数据类型非常明确地指定了对象的大小。您能提供一个更全面的示例吗?在静态类型语言(如C++)的上下文中,当前所呈现的内容并不太有意义。你是不是在想std::variant
?为什么不使用std::uint16\u t
来表示16位无符号?不知道为什么这会被否决,人们会在这里发疯lol不要过度认为Lightness的答案完全可以接受。@Rob:我同意,这是一个有趣的问题,而目前的单一答案也没那么糟糕。升级并投票重新打开。那么shift会更改数据本身吗?所以我可以用shift将0x0147更改为不同的值?您提到了从char初始化一个新的int16\t。你是说int16\u t newInt=static\u cast(0x0147)之类的东西吗?@Rob a shift是一种算术运算,非常类似于乘法(或除法)0x0147@Rob justint16\u t newInt=0x0147代码>将是很好的伴侣。。你的计算机知道该做什么,然后移位改变数据本身?所以我可以用shift将0x0147更改为不同的值?您提到了从char初始化一个新的int16\t。你是说int16\u t newInt=static\u cast(0x0147)之类的东西吗?@Rob a shift是一种算术运算,非常类似于乘法(或除法)0x0147@Rob justint16\u t newInt=0x0147代码>将是很好的伴侣。。你的电脑知道怎么做