|
2 / 2 / 0
Регистрация: 24.11.2016
Сообщений: 77
|
|
Использование ссылок и обычных имен переменных08.07.2017, 23:26. Показов 6089. Ответов 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 отличаются от обычных ссылок на странице? Инициализация обычных статических переменных Отличие обычных переменных и глобальных
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|