Что такое C ++ аналог C # byte []? - PullRequest
8 голосов
/ 23 августа 2010

Что такое аналог C ++ (и / или visual-C ++) C # byte[]?

Ответы [ 3 ]

12 голосов
/ 23 августа 2010

byte[] в C # - это массив 8-разрядных целых без знака (byte).

Эквивалент будет uint8_t array[].

uint8_t определено в stdint.h (C) и cstdint (C ++), если они не предоставляются в вашей системе, вы можете легко загрузить их или определить их самостоятельно (см. этот вопрос SO ).

6 голосов
/ 23 августа 2010

В стандарте C ++ char, signed char и unsigned char - три доступных типа символов.char возможно signed или unsigned, следовательно:

typedef signed char sbyte;
typedef unsigned char byte;

byte bytes[] = { 0, 244, 129 };
5 голосов
/ 23 августа 2010

Ближайшим эквивалентным типом в C ++ будет динамически создаваемый массив "unsigned char" (если только вы не работаете на процессоре, который определяет байт как нечто отличное от 8 бит).

Так например

в C #

byte[] array = new byte[10];

в C ++

unsigned char *array = new unsigned char[10];
...