|
2 / 2 / 0
Регистрация: 24.11.2016
Сообщений: 77
|
|
Использование ссылок и обычных имен переменных08.07.2017, 23:26. Показов 6438. Ответов 82
Метки нет (Все метки)
Добрый вечер, у меня такой вопрос. Может быть он покажется довольно неинтересным вам, но мне просто надо понять кое-что.
Ссылка - это дополнительное имя для объекта. Имя объекта ссылается на его адрес. Я правильно понимаю, что когда мы обращаемся к имени ссылки сначала мы получаем ее адрес, на который ссылается ссылка (содержащийся в оригинальном имени переменной), а далее значение? А имя переменной также ссылается на некую область памяти, только вот при обращении к ней, мы сразу получаем конкретно значение? Спасибо.
0
|
|
| 08.07.2017, 23:26 | |
|
Ответы с готовыми решениями:
82
Использование имен предопределенных объектов в качестве имен переменных Использование переменных вместо имен таблицы и полей в SQL-запросах Использование длинных имен переменных увеличивает вес файла с программой? |
|
Комп_Оратор)
|
|
| 19.07.2017, 13:31 | |
|
daun-autist, а прятаться-то зачем? Боязнь ссылок-указателей, обычно, излечима. В этой теме, в частности нет ни одного утверждения о том, что ссылка, это указатель или наоборот. Но паранойя есть.
Сказано, не более, чем сказано у B.S. Для особо понятливых B.S. здесь это не bulll shit а аббревиатура имени и фамилии. Не перепутайте снова. Отписываюсь.
0
|
|
|
Неэпический
|
|||
| 19.07.2017, 14:16 | |||
|
И вообще делает не то. ![]() Мой код держит живым временный объект, а не статический, который и так будет жить всю программу (почти). ![]() GbaLog-, это вообще не то и не о том.
0
|
|||
|
Комп_Оратор)
|
||||
| 20.07.2017, 00:54 | ||||
:= подошло бы, для синтаксического отражения. А доступ к объекту на запись, - простым =. И был бы вменяемый тип.
0
|
||||
|
Неэпический
|
||||
| 20.07.2017, 05:50 | ||||
|
А вот продлите время жизни временного объекта с помощью указателя. Вы же заявили что можно. Вперед. - Давайте сделаем автомобиль. - Мы всё сделали. - Но это же молоток. - Но он показывает, что если хочется что-то хитро выдумать, то это не проблема. В общем, гоните Вы, простите за мой французский. ![]() Ваш код вообще не о том. Диалог выше как раз о Вашем коде.
0
|
||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 20.07.2017, 06:52 | ||
|
Ну серьезно, того же эффекта можно достигнуть просто убрав амперсанд.
2
|
||
|
Любитель чаепитий
|
|||||||
| 20.07.2017, 07:43 | |||||||
0
|
|||||||
|
Комп_Оратор)
|
||||||||
| 20.07.2017, 08:20 | ||||||||
|
А ведь B.S. печётся не только о безопасности (невозможность создать не инициализированную ссылку). Он просит не передавать не констнантных ссылок в функции. Передавайте указатели, говорит он. Тут всё дело в читаемости и сайд эффекте. Изменение по ссылке, это сайд-эффект, а в месте вызова указатель показывает, что он может изменить значение "своего" объекта. А ссылка ведь вызывается не на ссылке (у-упс!), она вызывается на типе значения... и никто не знает получит функция копию или под капотом (то чего не бывает) Причём, передавать большие объекты , - векторы например, следовательно нужно либо по константным ссылкам, либо по указателям. Класс! Но не слушаются его. Почему-то. Передают по обычным. А вот фича с продлением жизни временного объекта, как сайд-эффект это просто необходимая вещь. Тут читаемость побоку. Я рад, что кроме данной возможности аргументов нет. Массивы ссылок, и ссылки как полноценный тип с раздельным объявлением и инициализацией остаются как и "глупость" без ответа. Боремся с инакомыслием? Не удивительно. Добавлено через 5 минут char. Вы правильно поняли как связан мой ответ для указателей на данное заявление Croessmah, Правда оно катит только для char*, но было бы весело, если бы любой константный указатель можно было бы инициализировать константой (времени компиляции, конечно) данного типа. Всего-то делов, - всем статическую память и дело в шляпе. Молотки и автомобили будут неотличимы.
0
|
||||||||
|
Заблокирован
|
|||
| 20.07.2017, 10:01 | |||
std::string сдыхает после окончания вычисления строки 10.Продление жизни — это когда временный объект, создаваемый при вычислении выражения, не уничтожается по окончании вычисления выражения (достижении точки с запятой), а продолжает жить дальше. Типичный пример — возвращаемый из функции по значению объект, привязываемый к ссылке. Или привязка prvalue к ссылке ( const int& ri = 5;).Добавлено через 1 минуту
1
|
|||
|
Комп_Оратор)
|
|||||||
| 20.07.2017, 11:06 | |||||||
0
|
|||||||
|
Заблокирован
|
|
| 20.07.2017, 11:15 | |
|
IGPIGP, я понял, что ты имел в виду. Без const работает только в MSVC, это нестандартное расширение.
0
|
|
|
Неэпический
|
|||||||
| 20.07.2017, 15:43 | |||||||
|
Renji, а если нет конструктора копирования?
![]() GbaLog-, в Вашем примере нет того, о чем мы говорим. IGPIGP, в Вашем примере нет того, о чем Вам пишут. Вы какую-то дичь пишите, выдавая свои фантазии за истину. Уже признали что указатели не могут всего что могут ссылки, хотя до этого практически лбом бились, доказывая обратное. ![]() Идем дальше и тоже с временным объектом. Возьмите адрес временного объекта без proxy-функции. Например,
IGPIGP, это именно расширение. Присваивание строкового литерала указателю не на константу запрещен стандартом уже давно.
const char[7], и это не тоже самое, что const char[].
0
|
|||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|
| 20.07.2017, 16:52 | |
|
0
|
|
|
Неэпический
|
|
| 20.07.2017, 16:58 | |
|
Renji, конструктор копий может быть просто закрыт, а не удален. Для внешнего кода конструктор копирования использовать нельзя - недоступен, но для самого класса и друзей - пожалуйста.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 20.07.2017, 17:03 | ||
|
0
|
||
|
Неэпический
|
||||||
| 20.07.2017, 17:20 | ||||||
|
Renji,
0
|
||||||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 20.07.2017, 17:42 | ||
|
0
|
||
|
Неэпический
|
|
| 20.07.2017, 17:53 | |
|
Renji, это пример. Можно и от константности избавиться без проблем.
![]() И так всё с телефона пишу, задолбали уже своим примером. ![]() Ну не могу я рассписать всё, не удобно это. Каждое смещение курсора - боль. Нужно помогать человекам, стараться додумать. В своём проекте использую в ряде случаев. Увижу в чужом коде, покажу. Я ж не могу весь код, который когда-либо видел, помнить наизусть.
0
|
|
|
Комп_Оратор)
|
||||
| 20.07.2017, 19:58 | ||||
|
0
|
||||
|
Неэпический
|
|||||||
| 20.07.2017, 22:39 | |||||||
![]() Простецкие различия:
Не по теме: Кстати, в C++17 описано не два, а три контекста с продлением жизни.
0
|
|||||||
| 20.07.2017, 22:39 | |
|
Удалить из имен обычных файлов (regular file) все цифры Чем ссылки тега nav отличаются от обычных ссылок на странице? Инициализация обычных статических переменных Отличие обычных переменных и глобальных
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|