Re[8]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 18:40
Оценка:
Здравствуйте, r0nd, Вы писали:


R>Так для того, чтоб что-то утверждать наверняка мы должны сойтись в терминах? Я свое определение что есть объект дал. Что ты называешь объектом?

R>И я не согласен с такой интерпретацией. Не хочу тебя ловить на перекручивании фактов, однако все-таки я придерживаюсь определения что «объект — это нечто в памяти», я не утверждал что «любое нечто в памяти — это объект». Тем не менее, возвращаясь к ранее изложеному, что ты называешь объектом?

Надеюсь это
Автор: rg45
Дата: 16.06 21:35
поставит точку в нашей дискуссии.
--
Re[8]: Не могу понять ссылки в C++
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 16.06.24 18:42
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Я свое определение что есть объект дал. Что ты называешь объектом?


Вас не смущает то, что мы находимся в теме о C++, и обсуждаем здесь C++? Точно ли Вам следовало давать собственное определение объекта, и ожидать того же от собеседника?

А то чего мелочиться — пусть каждый даст собственное определение, скажем, lvalue, expression, pointer, а потом затеем дискуссию.
Re[7]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 18:44
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А кто пытался убедить Вас в том, что у типа данных "ссылка" якобы нет адреса в памяти? Вам говорят лишь то, что ссылка не является объектом в терминологии C++, и в языке нет штатного способа получить адрес в памяти, где хранится содержимое ссылки.


Жэка, красавчик!
--
Re[7]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 18:54
Оценка:
On Jun 16, 2024, 9:35 PM, Евгений Музыченко <20355@users.rsdn.org> wrote:


ЕМ>А кто пытался убедить Вас в том, что у типа данных "ссылка" якобы нет адреса в памяти?


Так rg45 это пытается убедить. Вот ссылка даже:

Не могу понять ссылки в C++

- У указателя есть адрес, а у ссылки нет;


Евгений, дайте rg45 ответить. А то получается, вы утверждаете обратное, что ранее утверждал ваш коллега @rg45. Он, например, утверждает "у ссылки нет адреса", вы утверждаете что меня тут никто не убеждает в том что "у типа данных "ссылка" якобы нет адреса в памяти".

ЕМ>Вам говорят лишь то, что ссылка не является объектом в терминологии C++, и в языке нет штатного способа получить адрес в памяти, где хранится содержимое ссылки.


Евгений, может тогда вы скажите, что есть объект в терминалогии C++?


“We are what we repeatedly do. Excellence, then, is not an act, but a habit.” — Aristotle
Re[8]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 18:57
Оценка: +1
Здравствуйте, r0nd, Вы писали:

R>Так rg45 это пытается убедить. Вот ссылка даже:


R>Не могу понять ссылки в C++

R>

R>- У указателя есть адрес, а у ссылки нет;


R>Евгений, дайте rg45 ответить. А то получается, вы утверждаете обратное, что ранее утверждал ваш коллега @rg45. Он, например, утверждает "у ссылки нет адреса", вы утверждаете что меня тут никто не убеждает в том что "у типа данных "ссылка" якобы нет адреса в памяти".


Так я тебе уже несколько раз ответил. Нет в С++ операции, которая возвращала бы адрес ссылки. И не может быть ибо даже типа данных такого нет. То, что ты видишь в дампе какие-то байты — вообще ничего не значит.
--
Re[8]: Не могу понять ссылки в C++
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 16.06.24 19:03
Оценка: +2
Здравствуйте, r0nd, Вы писали:

R>Так rg45 это пытается убедить. Вот ссылка даже:


R>Не могу понять ссылки в C++

R>

R>- У указателя есть адрес, а у ссылки нет;


Из его слов совершенно ясно, что имелся в виду адрес в терминах C++ — то есть, штатная возможность его получения программой. Если программа применяет операцию "&" к указателю, который компилятор предпочел бы хранить в регистре, компилятору придется положить этот указатель в память и сформировать для него адрес. А штатного способа заставить компилятор хранить в памяти ссылку нет — если он решит держать ее исключительно в регистре, то нет надежного способа помешать ему в этом.

R>что есть объект в терминалогии C++?


Вестимо, это все, к чему в тексте стандарта C++ применяется термин object.
Re[7]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 19:19
Оценка:
On Jun 16, 2024, 9:35 PM, rg45 <49596@users.rsdn.org> wrote:

R>Не стандарт, конечно же, но как-то понадежнее, чем твое «нечто в памяти»


Хм, довольно странное манера ведения дискуссии, отвечать не на свои вопросы, но на чужие подменяя ответы, хорошо, все-таки как же быть с твоим утверждением что «у ссылки нет адреса в памяти»?


“The standard you walk past, is the standard you accept.” — David Hurley
Re[8]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 19:25
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Хм, довольно странное манера ведения дискуссии, отвечать не на свои вопросы, но на чужие подменяя ответы,


Чего? А ты ничего не попутал случайно? А ну, давай вместе смотреть:

http://rsdn.org/forum/cpp/8761778.1
Автор: r0nd
Дата: 16.06 19:19


R>- Указатель — объект, а ссылка — нет;

Если под объектом понимается "нечто в памяти", то утверждение неверно:


Что я подменил?

R>хорошо, все-таки как же быть с твоим утверждением что «у ссылки нет адреса в памяти»?


Может, давай начнем с того, что ты не будешь цитаты подменять?

Я про размещение ссылок в памяти вообще ничего не говорил, потому что это никак не регламентировано и отдано на откуп разработчикам компиляторов. Это расположение может быть таким, а может быть другим, а может вообще не быть.
--
Отредактировано 16.06.2024 19:33 rg45 . Предыдущая версия .
Re[9]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 19:31
Оценка: -1
On Jun 16, 2024, 9:57 PM, rg45 <49596@users.rsdn.org> wrote:

R>Так я тебе уже несколько раз ответил. Нет в С++ операции, которая возвращала бы адрес ссылки. И не может быть ибо даже типа данных такого нет. То, что ты видишь в дампе какие-то байты — вообще ничего не значит.


При чем здесь операция? В твоем изначальном императиве не было никаких "операций". Вопрос же звучал просто "у ссылки есть адрес памяти или нет адреса памяти". И все. К этому утверждению и возникли у меня вопросы. Я так понимаю, мои аргументы в виде ассемблерного кода на тебя не действуют, Евгений пытался смягчить формулировки, но так и не отмазал тебя. Каждый остается при своем мнении.

Последнее, я считаю что адрес у ссылки в памяти есть, адресоваться туда можно, переписать значение также можно (напоминаю, что в С++ все можно сделать при желании). Переубеждать тебя я не буду.


“Anything can make me stop and look and wonder, and sometimes learn.” — Kurt Vonnegut
Re[7]: Не могу понять ссылки в C++
От: wander  
Дата: 16.06.24 19:32
Оценка: +3
Здравствуйте, rg45, Вы писали:

R>Смотри сюда, Фома неверующий:


R>https://en.cppreference.com/w/cpp/language/object


R>

R>The following entities are not objects: value, reference, function, enumerator, type, non-static class member, template, class or function template specialization, namespace, parameter pack, and this.


R>Не стандарт, конечно же, но как-то понадежнее, чем твое "нечто в памяти"


Дальше по-справедливости должно быть сообщение r0nd, мол, зачем же я полез спорить без подготовки и с поверхностными выводами, извиняйте, был не прав.
Но этого никогда не случится, потому что для большинства людей признать свои ошибки — невыполнимая задача.

На одном другом форуме постоянно сталкиваюсь с этими адептами познания языков программирования через эмпирический опыт, чуть что лезут в ассемблер проверять свои теории
Хотелось бы пожелать всем им счастья, здоровья и научиться наконец использовать спецификацию языка наперед своих экспериментов.
Re[10]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 19:35
Оценка:
Здравствуйте, r0nd, Вы писали:

R>При чем здесь операция?


При том. Здесь
Автор: rg45
Дата: 16.06 22:25
читай ответ.

Ты начинаешь утомлять своим упрямством.
--
Re[9]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 19:40
Оценка:
On Jun 16, 2024, 9:42 PM, Евгений Музыченко <20355@users.rsdn.org> wrote:

ЕМ>А то чего мелочиться — пусть каждый даст собственное определение, скажем, lvalue, expression, pointer, а потом затеем дискуссию.


А почему вы не мелочитесь и не скажите rg45, то что вы мне сказали здесь Не могу понять ссылки в C++?

А кто пытался убедить Вас в том, что у типа данных "ссылка" якобы нет адреса в памяти?


А то получается странно — спорите со мной, а противоречите rg45, это как?

- Указатель — объект, а ссылка — нет;
У указателя есть адрес, а у ссылки нет;


❧ “I never look back, darling. It distracts from the now.” — Edna Mode
Re[10]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 19:49
Оценка:
Здравствуйте, r0nd, Вы писали:


R>

А кто пытался убедить Вас в том, что у типа данных "ссылка" якобы нет адреса в памяти?


Слышь дятел, ты нормальный вообще? Где я что писал про расположение ссылок в ПАМЯТИ? Про "адрес ссылки в памяти" я дал тебе исчерпывающий ответ здесь
Автор: rg45
Дата: 16.06 22:25
. Там что, какие-то слова незнакомые попадаются?
--
Отредактировано 16.06.2024 19:56 rg45 . Предыдущая версия . Еще …
Отредактировано 16.06.2024 19:52 rg45 . Предыдущая версия .
Re[6]: Не могу понять ссылки в C++
От: Stanislav V. Zudin Россия  
Дата: 16.06.24 19:51
Оценка: +1
Здравствуйте, r0nd, Вы писали:

SVZ>>«&a» возвращает, как и ожидается, ни что иное, как адрес объекта, на который ссылается ссылка.


R>Да. Именно это и было целью, однако там дальше есть ассемблерный код, который несмотря на идентичность вывода, адресуется по разным адресам. Что «несколько» противоречит утверждению, что у ссылки нет адреса в памяти. Я утверждаю что есть, ассемблер утверждает что есть. Как же быть?


В ассемблерном коде всё предельно просто.
Две переменные на стеке, в которые кладётся адрес переменной b.
Затем значения этих переменных перекладываются в регистры для вызова printf.
Видимо оптимизация выключена, потому что код совсем кондовый.

Апд. Что касается адреса ссылки. Тебе привели пример, который доказывает, что у ссылки адреса не получить. Под капотом может быть что угодно. Иногда ссылка имеет физическое воплощение, но для программиста оно недоступно.
_____________________
С уважением,
Stanislav V. Zudin
Отредактировано 16.06.2024 19:54 Stanislav V. Zudin . Предыдущая версия .
Re[9]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 19:57
Оценка:
On Jun 16, 2024, 10:25 PM, rg45 <49596@users.rsdn.org> wrote:


R>Чего? А ты ничего не попутал случайно? А ну, давай вместе смотреть:


Снова подмена тезисов с попыткой уйти в очередной раз и не отвечать на вопрос "у ссылки нет адреса в памяти". Я доказал что есть, как быть? Где в стандарте сказано что у ссылки нет адреса? Кстати, ссылку до сих пор не дал, где сказано что "у ссылки нет адреса", или памяти не хватает?

R>Я про размещение ссылок в памяти вообще ничего не говорил, потому что это никак не регламентировано и отдано на откуп разработчикам компиляторов. Это расположение может быть таким, а может быть другим, а может вообще не быть.


Память тебя поводит, вот здесь ты утверждал Не могу понять ссылки в C++ что у ссылок нет адреса памяти:

- У указателя есть адрес, а у ссылки нет;


Короче ссылка на стандарт либо ассемблерный код, демонстрирующий это утверждение


“When we strive to become better than we are, everything around us becomes better too.” — Paulo Coelho
Re[10]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 19:58
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Память тебя поводит, вот здесь ты утверждал Не могу понять ссылки в C++ что у ссылок нет адреса памяти:


R>

R>- У указателя есть адрес, а у ссылки нет;


Добоеба ты кусок, покажи мне здесь слово "память"?
--
Re[7]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 20:00
Оценка:
On Jun 16, 2024, 10:51 PM, Stanislav V. Zudin <4579@users.rsdn.org> wrote:

SVZ>Видимо оптимизация выключена, потому что код совсем кондовый.


При чем здесь оптимизация? Правильно — не при чем.

SVZ>Апд. Что касается адреса ссылки. Тебе привели пример, который доказывает, что у ссылки адреса не получить. Под капотом может быть что угодно. Иногда ссылка имеет физическое воплощение, но для программиста оно недоступно.


Где пример? Ссылку можно?


“Keep your eyes on the stars, and your feet on the ground.” ― Theodore Roosevelt
Re[11]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 20:07
Оценка: :)
On Jun 16, 2024, 10:49 PM, rg45 <49596@users.rsdn.org> wrote:

R>Слышь дятел, ты нормальный вообще? Где я что писал про расположение ссылок в ПАМЯТИ? Про «адрес ссылки в памяти» я дал тебе исчерпывающий ответ здесь
Автор: rg45
Дата: 16.06 22:25
. Там что, какие-то слова незнакомые попадаются?


Вот! Лезет все-таки институты полезли. Тебя за гаражами учили С++? Там хоть успели объяснить, что у ссылок адреса есть? Или забыли? Сдал форум, сдал-с…

А, стоп, ты хочешь сказать, что указатели имеют адреса, НО НЕ В ПАМЯТИ? Так?


“Opportunity is missed by most people because it is dressed in overalls and looks like work.” — Thomas Edison
Re[12]: Не могу понять ссылки в C++
От: rg45 СССР  
Дата: 16.06.24 20:12
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Вот! Лезет все-таки институты полезли. Тебя за гаражами учили С++? Там хоть успели объяснить, что у ссылок адреса есть? Или забыли? Сдал форум, сдал-с…


Ну вот и выяснилось, где тебя учили. Иди верни аттестат, скажи, пускай доучивают.

R>А, стоп, ты хочешь сказать, что указатели имеют адреса, НО НЕ В ПАМЯТИ? Так?


А тебе мало того, что ты обосрался с ссылками-объектами
Автор: r0nd
Дата: 16.06 19:19
, ты еще хочешь?
--
Re[11]: Не могу понять ссылки в C++
От: r0nd  
Дата: 16.06.24 20:18
Оценка:
On Jun 16, 2024, 10:58 PM, rg45 <49596@users.rsdn.org> wrote:


R>Добоеба ты кусок, покажи мне здесь слово "память"?


Ну вот, вот и закончился весь флёр rg45. Ну что ж такое, я конечно не завсегдатай этого форума, и не в курсе, как здесь принято, и как называют людей, с аргументами которых не согласен или в силу своего профессионализма что-то противопоставить приведенным фактам оппонента.

Выпей водички, rg45. А то инфаркт случится. Возвращаясь к ранее написанному, стоит ли мне ожидать что ты ответишь за свои высказывания, про адрес у ссылок? Или так и будешь скакать по "типам", "людям" и оскорблениям собеседников?


“If you change the way you look at things, the things you look at change.” — Wayne Dyer
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.