Конвертировать из int в int32 - PullRequest
4 голосов
/ 31 января 2011

У меня есть куча int в моем c ++ коде, который мне нужно заменить на int32.То же самое с моим bool's.Какой заголовок мне нужно включить, чтобы использовать int32 и bool32.Также, как мне объявить это, как только я сделаю их.Могу ли я просто заменить int на int32?

Например:

int x;

Становится

int32 x;

Я получаю много ошибок при попытке изменитьот int до int32.Вот некоторые из них:

error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

error C2086: 'const int x' : redefinition

Ответы [ 3 ]

10 голосов
/ 31 января 2011
<cstdint>

Если ваш компилятор его поддерживает, вы получите int32_t, целочисленный тип C99 с фиксированной шириной.

Никогда не слышал о bool32, и я не представляю, какой это будет смысл.

Да, вы можете просто заменить int вашим типом, если ваш тип остается фундаментальным и / или имеет конструктор по умолчанию / неявный конструктор ... в зависимости от использования.

1 голос
/ 31 января 2011

В Windows вы должны использовать встроенный тип __int32. Я никогда не слышал о 32-битном буле, но вы можете просто использовать typedef для этого.

1 голос
/ 31 января 2011

Может быть лучше иметь typedef вместо фактического типа данных.

Е.Г.

typedef int my_int;
....
my_int var;

становится:

typedef int32 my_int;
....
my_int var;

Таким образом, вы можете просто изменить одну строку кода, чтобы изменить все экземпляры int на int32.

...