Здравствуйте, wander, Вы писали:
W>Вот в стандарте написано:
W>W>It is unspecified whether or not a reference requires storage
W>https://eel.is/c++draft/dcl.ref#4
W>И вот это
W>W>There shall be no references to references, no arrays of references, and no pointers to references.
W>https://eel.is/c++draft/dcl.ref#5
W>Спецификация недвусмысленно дает понять, что ссылка не может быть адресована (не бывает указателя на ссылку), и что будет ли ссылка иметь storage — не определяется.
W>На практике это сводится к тому, что компилятор сам решает, нужно ли выделять место в памяти под ссылку или не нужно.
W>Как правило эта нужда связана с сугубо техническими причинами.
W>Так вот, КОГДА компилятор соизволит сделать storage под ссылку, то у этого storage на уровне машинного кода может быть адрес(*) (именно может быть, потому как storage может быть в регистре); А когда, соответственно, не соизволит, то адреса не будет.
W>Из этой особенности прямо следует даже без отдельных определений, что ссылка не объект, потому как у объекта всегда есть storage и мы можем всегда взять адрес этого storage из кода. Даже когда объект в регистре, то взятие адреса насильно заставляет компилятор переносить storage в память, чтобы взятие адреса стало возможным. А у ссылки — не можем. Нет такого механизма в языке.
W>Мы можем хакнуть код, и в тех случаях, когда компилятор сделал storage для ссылки, и когда этот storage не в регистре, получить его адрес, но НИКАКОГО отношения к C++ этот хак иметь не будет.
W>В общем резюмируем,
W>1) когда rg45 писал "у ссылки нет адреса" — имелось в виду "в языке C++ у ссылки нет адреса".
W>2) когда Евгений писал "А кто пытался убедить Вас в том, что у типа данных "ссылка" якобы нет адреса в памяти" — имелся в виду вот этот вот аспект под звездочкой (*). Т.е. Евгений понимает, что чудес не бывает и ссылка иногда где-то должна храниться, и вот когда она хранится в памяти, у нее реально будет адрес, которой, впрочем, из С++ все равно недоступен легально.
W>Таким образом тут даже нет противоречия. Тут просто освещались разные аспекты. Товарищи пытались быть объективными в тех условиях, которые вы им поставили в качестве вводных. Если вы пытаетесь на этом строить свои аргументы против них, то к сожалению это просто со стороны выглядит глупо. Типа вот подловили кого-то. Я в таких случаях советую прочесть рассказ Шукшина "Срезал". Это вот почти та же ситуация.
Класс. Толково все разложил по полочкам