Re[3]: Можно ли считать ссылки типом данных?
От: rg45 СССР  
Дата: 22.12.18 20:20
Оценка: 4 (1)
Здравствуйте, Максим Рогожин, Вы писали:

R>>

R>>6.9 Types
R>>1 [ Note: 6.9 and the subclauses thereof impose requirements on implementations regarding the representation of types. There are two kinds of types: fundamental types and compound types. Types describe objects (4.5), references (11.3.2), or functions (11.3.5). —end note ]


МР>Объекты и функции имеют некоторое бинарное представление, занимают некоторую память, то что у них должен быть тип это ясно. Но вот ссылки не имеют бинарного представления, не занимают памяти (могут не занимать), то есть их как бы и нет даже. Тип ссылки это тип чего? Выражения в коде программы?


Попробую "на пальцах". Имхо, твое недоумение вызвано тем, что ты пытаешься думать о ссылке как об объекте. А между тем, в выделенном фрагменте ссылки как раз и перечислены отдельно от объектов потому, что ссылки и объекты — разные сущности. Пункт 11.3.2 вводит понятие ссылки (reference) и ссылочного типа (reference type). Таким образом, тип ссылки — это просто тип ссылки — тот самый ссылочный тип. Иными словами, для того, чтобы сущность имела тип, ей не обязательно "иметь бинарное представление" (т.е. быть объектом).

Например, декларатор "int& ir = . . ." объявляет ссылку ir, типом которой является "lvalue reference to int".
--
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.