2016-05-06 3 views
1

Я только что обнаружил типы фиксированного размера, которые можно найти в stdint.h/cstdint. Некоторые из них являются «нормальными» типами, такими как int32_t, а некоторые из них предназначены для беззнакового представления, например uint64_t. Нужно ли использовать ключевое слово «без знака» при использовании типов, неподписанных дизайном?Нужно ли «беззнаковое» ключевое слово с uintXX_t?

+6

Что случится, если вы попробуете? (Я знаю ответ на это, но вы этого не делаете и должны) – hvd

+0

Значит, вы знаете, что uint64_t находится в stdint.h, вы открыли этот файл? откройте его, и вы поймете, что uint64_t - это не что иное, как typedef для unsigned long long int .. и если вы знаете, какой typedef у вас есть ответ на ваш вопрос! – Shrikant

+0

Java-программист? Нет ничего ненормального в неподписанных типах. –

ответ

6

Вам не нужно использовать unsigned, и на самом деле вы не можете использовать.

Только основные типы могут быть изменены с помощью signed и unsigned (также long10 и short) ключевых слов.

Псевдонимы стандартных типов не могут быть изменены с использованием этих ключевых слов и включают в себя псевдонимы с фиксированной шириной.

Если вы пишете unsigned int32_t, то компилятор будет анализировать это как переменная с типом unsigned (который является сокращением для unsigned int) и имя переменной будет int32_t. unsigned int32_t variable_name будет синтаксической ошибкой.

Смежные вопросы