C++(和/或Visual-C++)中与C# byte[]
相对应的是什么?
在C++中,最接近的等效类型应该是动态创建的“unsigned char”数组(除非你在运行定义字节为8位以外的处理器上)。
因此例如:
在C#中
byte[] array = new byte[10];
在C++中
unsigned char *array = new unsigned char[10];
byte[] array = new byte[10]
? - Anthonychar
、signed char
和unsigned char
是三种可用的字符类型。char
可能是signed
或unsigned
,因此:typedef signed char sbyte;
typedef unsigned char byte;
byte bytes[] = { 0, 244, 129 };
char
并不保证是一个8位的类型。 - Bertrand Marronuint8_t
定义为typedef unsigned char uint8_t
,因此它是基于char建模的。如果char比8位更大,则uint8_t也会更大。或者我错了吗?我之前说的只是uint8_t
仅表示您的意图,即该变量应仅保持[0 255]范围内的值,但在某些平台上,除了糟糕的编程实践外,没有任何阻止您将更大的数字插入其中。 - Praetorian