什么是C#byte[]
的C ++(和/或Visual-C ++)模拟?
答案 0 :(得分:12)
byte[]
是一个无符号8位整数数组(byte
)。
等效值为uint8_t array[]
。
uint8_t
在stdint.h(C)和cstdint(C ++)中定义,如果你的系统没有提供它们,你可以轻松下载它们,或者自己定义它们(参见this SO question)
答案 1 :(得分:6)
在C ++标准中,char
,signed char
和unsigned char
是三种可用的字符类型。 char
可能signed
或unsigned
,因此:
typedef signed char sbyte;
typedef unsigned char byte;
byte bytes[] = { 0, 244, 129 };
答案 2 :(得分:4)
C ++中最接近的等效类型是动态创建的“unsigned char”数组(除非您在将字节定义为8位以外的处理器上运行)。
所以例如
在C#中
byte[] array = new byte[10];
在C ++中
unsigned char *array = new unsigned char[10];