rect
- имя переменной (в данном случае объект).
Это так же, как если бы он сказал:
int rect;
за исключением того, что вместо int
есть определение нового типа, называемое CRectangle
. Обычно типы классов объявляются отдельно, а затем используются как
CRectangle rect;
, как вы, вероятно, знакомы, но совершенно законно объявлять новый тип как часть такого объявления.
И да, это работает для структур:
struct SRectangle { int x, y; } rect;
На самом деле вам даже не нужно давать имя типу, если вы не планируете использовать его снова:
struct { int x, y; } rect;
это называется "анонимная структура" (и это также работает для классов).