Предполагая, что вы говорите о физическом размере ссылочного типа int&
, он почти наверняка будет такого же размера, что и тип указателя int*
, который обычно составляет 4 или 8 байт в современных архитектурах (32- или64-разрядные процессоры).
Если вы хотите измерить его на своем компиляторе, используйте это:
struct Test { int& x; }
printf("%d\n", (int)sizeof(Test));
Также обратите внимание, что технически ваш компилятор может дополнить структуру Test
идаст вам неправильный ответ, но это, вероятно, будет работать нормально.
Обратите внимание, что sizeof(int&)
- это то же самое, что и sizeof(int)
, и не говорит точно, сколько места будет использовать int&
, если оноявляется членом данных.