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 "Литералы" стандарта С++. Например, тут и тут.

→ Ссылка