170 похожих чатов

То есть неверно сказать, что переменная - это автоматически разыменовывающийся

указатель?...

22 ответов

14 просмотров

Их родство скорее со ссылками, кмк, имело бы смысл рассматривать, но вообще (почти применимо).

Каждый указатель - это переменная, но не каждая переменная указатель.

Sergey Anisimov
Не каждый, разумеется: (T*)nullptr.

Разумеется есть rvalue и прочая compile-time эзотерика, но если человек спрашивает "что такое указатель", то вряд ли ему сейчас стоит об этом знать.

Niceguy- Автор вопроса
Sergey Anisimov
Их родство скорее со ссылками, кмк, имело бы смысл...

Как раз такая мысль появилась после изучения ссылок

LaG1924
Разумеется есть rvalue и прочая compile-time эзоте...

1. Категории значений - отнюдь не эзотерика, они есть в каждом выражении. 2. Человек не спрашивает "что такое указатель".

Niceguy
Как раз такая мысль появилась после изучения ссыло...

Указатель – это как индекс в глобальном массиве памяти, а переменная – как значение одного или нескольких элементов вместе. Вы же не ставите равно между элементом массива и его индексом?

Ссылка - это как раз таки автоматически разыменовывающийся указатель.

LaG1924
Ссылка - это как раз таки автоматически разыменовы...

Очень грубо, но пусть будет так. Сейчас здесь сразу поправят.

Niceguy- Автор вопроса
LaG1924
Ссылка - это как раз таки автоматически разыменовы...

ну и как я понимаю, ссылка - это альтернативное название переменной, поэтому я и спросил про переменную, как автоматически разыменовающийся укзаатель

Ссылка - тоже переменная. И она действительно существует в памяти, это не просто синтаксичекий сахар, чтобы одну ячейку памяти (ака переменную) разными именами называть. Однако, если сравнивать ссылки и указатели, то ссылки - синтаксический сахар для указателей, который не допускает NULL значения.

LaG1924
Ссылка - тоже переменная. И она действительно суще...

И, опять же, это тоже не абсолютное положение: гарантий ее реального существования в памяти нет (и в этом смысле о ней действительно можно думать в некоторых ситуациях как о псевдониме): она даже не объект, программа не может получить ее адрес, в связи с чем пронаблюдать различия в поведении.

Sergey Anisimov
И, опять же, это тоже не абсолютное положение: гар...

Гарантий того, что написанный код сложения двух чисел будет действительно складывать два числа, а не просто подставит результата их сложений - тоже нет. В сложное время живём. Действительно ли надо настолько переусложнять ментальную модель, чтобы ее изучение заняло годы, а она все равно иногда различалась с действительностью?

LaG1924
Гарантий того, что написанный код сложения двух чи...

Изучите достаточно хорошо - не будет различаться. И на этот вопрос я однозначного ответа не решусь дать, но, видимо, решаетесь Вы (и ответ - "нет"), раз из этих соображений предлагаете утверждения с допущениями как абсолютные. Ваше право, разумеется, но причин даже не указывать наличие "крайних случаев" (которые еще и могут большую значимость иметь на практике) я, честно говоря, не вижу.

LaG1924
https://isocpp.org/wiki/faq/references#overview-re...

Ваш источник, кстати, оговаривает: > Underneath it all, a reference i to object x is typically the machine address of the object x. > typically И дополнительную повторяющую предостерегающую от подобного представления сноску предлагает.

Sergey Anisimov
Изучите достаточно хорошо - не будет различаться. ...

Есть академический интерес, и практический. Вы предоставляете правильный ответ, который потребует изучения, я же назвал грубое приближение к реальности, которое позволит использовать это знание гораздо быстрее. Пусть изучающий сам решит, что для него важнее сейчас - учиться писать правильный код, или просто писать код (плохой, не имеющий права жизни в чистовой кодовой базе, но который закроет практическую потребность прямо сейчас). Я бы с радостью сказал использовать Ваш ответ, а мои слова вообще забыть, но мы живём не в идеальном мире, увы.

Sergey Anisimov
Ваш источник, кстати, оговаривает: > Underneath it...

Да. Так и надо делать. Но в 98% случаев использования ссылок оно все же будет работать так, как легче понимать принцип их работы программисту на С. P.S. вопрос ко всем: как давно вы видели нетривиальное использование ссылок (или даже писали такой код 😱)? P.P.S. T* p = nullptr; T& r = *p;

LaG1924
Есть академический интерес, и практический. Вы пре...

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

Sergey Anisimov
Ничего не имею против грубого приближения, пока он...

Можно считать всю нашу дискуссию эдаким дисклеймером) А потребность в альтернативе точно даст о себе знать, когда в различных (частых) краевых случаях ожидаемое поведение будет не соответствовать происходящему.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта