Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 追加位以增加字符的大小_C++ - Fatal编程技术网

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 just
int16\u t newInt=0x0147将是很好的伴侣。。你的计算机知道该做什么,然后移位改变数据本身?所以我可以用shift将0x0147更改为不同的值?您提到了从char初始化一个新的int16\t。你是说int16\u t newInt=static\u cast(0x0147)之类的东西吗?@Rob a shift是一种算术运算,非常类似于乘法(或除法)
0x0147@Rob just
int16\u t newInt=0x0147将是很好的伴侣。。你的电脑知道怎么做