Каково фактическое использование ключевого слова "signed"?


Я знаю, что целые числа без знака являются только положительными числами (и 0) и могут иметь двойное значение по сравнению с обычным int. Есть ли разница между

int variable = 12;

и:

signed int variable = 12;

когда и почему вы должны использовать ключевое слово со знаком?

4 56
c++

4 ответа:

существует только один экземпляр, где вы можете использовать signed ключевое слово. signed char всегда отличается от типа "обычный"char, который может быть подписанным или беззнаковым типом в зависимости от реализации.

в C++14 3.9.1/1 говорит:

это реализация-определяется ли a

в случае int, нет никакой разницы. Это имеет значение только с char, потому что

  1. не определено ли char подписывается или не подписывается, и
  2. char,signed char и unsigned char есть три различных типа в любом случае.

так что вы должны использовать signed если вам нужен signed char (что, вероятно, редко). Кроме этого, я не могу придумать причину.

signed - Это целочисленный тип по умолчанию. Так что нет, нет никакой разницы в Примере, который вы дали. Разница есть только в случае char.

источник: Ссылка На C++

нет никакой разницы между ними, когда речь идет о int. Вы можете включить слово signed для форматирования, если вы также объявляете unsigned int, чтобы их было легче выстроить и сделать читаемым, но для всех целей и целей вам не нужно использовать ключевое слово signed.