0.f / 123u / etc. в инициализации
Замечал код вроде:
float var = 0.3f;
uint16_t var2 = 123u;
Объясните, пожалуйста, что значит f, u. Догадываюсь, что это - некие квалификаторы, но где про них можно почитать подробнее? Есть ли резон их использования?Как я полагаю, при инициализации нет приведения типов?
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
float var = 0.3f;
Инициализируем значением 0.3 типа float (без f это было бы значение типа double).
uint16_t var2 = 123u;
Инициализируем значением 123 типа unsigned int (без u это было бы значение типа int).
Естественно, при инициализации точно так же при необходимости выполняется приведение типов, как и при обычном присваивании, например.
Прочесть об этом можно в разделе 5.13 "Литералы" стандарта С++. Например, тут и тут.