Имеет ли «длинный двойной» имя одного слова? - PullRequest
0 голосов
/ 07 августа 2011

Многие новые имена типов данных C ++ имеют одно слово, например:

  • int16_t вместо подписанного короткого int
  • int64_t вместо подписанного long long int
  • ...

Имеет ли "long double" одно слово?

Ответы [ 4 ]

5 голосов
/ 07 августа 2011

Это не длинные / короткие имена. «Имена», такие как long int, short int и т. Д., Являются обычными, НО для платформы и НЕ имеют фиксированный размер. Например, long int может быть 4B или 8B.

В то время как имена типа intXX_t имеют целочисленный тип с гарантированным фиксированным размером - XX бит.

И нет, в стандарте C ++ есть такая вещь для double.

Для получения дополнительной информации о типах с плавающей запятой фиксированного размера: Типы с плавающей запятой фиксированного размера

0 голосов
/ 07 августа 2011

Я так не думаю.int16_t и другие определены в stdint.h.Ничего такого не существует для float / double.

Кстати, long - это модификатор типа, а double - это тип данных.

В C ++ вы можете определить свой собственный двойной класс и использовать его, перегружая операторы.

Shash

0 голосов
/ 07 августа 2011

Нет, int16_t не всегда означает short и т. Д. int16_t и т. Д. Являются целочисленными типами указанного размера, в то время как размер short и т. Д. Не указан. Вам не нужны такие вещи для типов с плавающей точкой, потому что указаны их размеры.

0 голосов
/ 07 августа 2011

Я не верю в это, но вы можете просто сделать свой собственный

#define double64_t (long double)
typedef long double double64_t;
...