|
-7 / 2 / 1
Регистрация: 10.04.2016
Сообщений: 53
|
|
Используются ли на практике указатели на указатели объектов?09.07.2016, 08:24. Показов 3767. Ответов 67
Метки нет (Все метки)
Имеются ввиду указатели именно на объекты, а не динамические массивы.
Например такой: Object** obj; А как насчёт такого: Object*** obj; Если такие приёмы используются, приведите пример, где это целесообразно. Какие аналоги применяются в таких языках как C#?
0
|
|
| 09.07.2016, 08:24 | |
|
Ответы с готовыми решениями:
67
Как на практике используются указатели на члены класса Указатели от теории к практике Указатели и указатели на указатели, а также типы данных |
| 11.07.2016, 00:36 | |
|
На правах дилетанта (мимо крокодил
) - я сразу после фразы "может вернуть а может и не вернуть" почуял неладное, и памятуя автора, подозревал что он про мэйбимонады... А тут еще гуру про "ван левел поинтер" процитировал... С++ как Майкл Джексон, с каждым новым релизом делает себе очередное обеление кожи и не хочет считаться наследником указательного языка, имхо. Несмотря на вынужденность обратной совместимости.
2
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 11.07.2016, 06:38 | |
|
ct0r, набор вырванных из контекста фраз - каждая является истиной но ни одна из них ни даже их сумма не является "используйте ссылки". Другого сложно было ждать от мукулатуроведа
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
||
| 11.07.2016, 09:40 | ||
![]() Я понимаю, что вам неохота выкидывать вашу книжку с догмами в корзину, читать всякие "сложные" вещи на английском, менять мышление, привыкать к новому стилю и все такое, - но это именно то, что разработчики ПО должны делать постоянно. Кто этого не умеет, тому не добиться успеха в профессии. Советую подумать об этом на досуге и проникнуться.
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|||||||||||
| 11.07.2016, 15:00 | |||||||||||
|
ct0r, мда. вы не привели ни одной причины по которой использование ссылки при возврате через аргумент было бы полезнее использования указателя.
пример 1
---- F.17 говорит с нами голосом Капитана Очевидность - если вы хотите иметь in-out передавайте ссылку и помните что это источник ошибок так как объект может быть изменен - возможности ссылок и так понятны любому кто имеет представление о языке. данный пункт тут не подходит. F.20 и F.21 вообще касаются возвращаемых значений - здесь так же любому знакомому с предметом должно быть ясно что возврат лучше делать естественным для функции образом через результат, а не через аргумент. F.60 указывает нам на полезность использования указателей если по условиям задачи мы можем возвращать NULL. F.42 указывает вообще на какие-то дошкольные понятия о недопустимости возврата адресов локальных объектов. во всяком случае лучше я этот пункт понять не смог, если вы смогли - объясните. подводя итог: этот набор F больше подходит для азбуки, а не для практического руководства. год выпуска, автор и язык оригинала не влияют на суть - надо не просто читать - нужно понимать что вы читаете. ---- в той книге которую вы совсем не по делу осмеиваете и которая как раз является набором правил выработанных при практическом применении языка я встретил такой вот прием: выбирайте пример 2 так как "&" сигнализирует читающему код о том что передаваемый объект может быть изменен. и не важно какая среда разработки - работает над кодом все равно человек - да, он может воспользоваться контекстной всплывающей подсказкой отображающей сигнатуру метода или просто может знать о том что по документации данная функция может изменять объект, но... он всего лишь человек. продвинутая среда разработки и высокая квалификация не делает из него супермена. возможности разработчика держать в голове всю картину не безграничны. функций может быть много. документации может быть еще больше. времени для просмотра подсказок может не быть вовсе. если этот самый "&" позволит человеку сразу получить достаточно важную для работы с кодом информацию, то это благо (даже если это 1% случаев - зачем упускать этот шанс?). именно этим второй пример отличается от первого. именно по этому при всем техническом равенстве обоих примеров мне кажется по возможности стоит отдавать предпочтение второму.
0
|
|||||||||||
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 11.07.2016, 15:32 | |
|
vxg
Хватит пороть чушь! swap уже много лет существует в стандарте, и никто не говорит, что это так неудобно, передавать объекты по ссылке, вместо указателя. Не говоря уже о том, что & просто может быть перегружен и что по указателю можно передать NULL.
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 11.07.2016, 16:54 | |
|
mporro, чушь тут порите вы начиная от хаха про индийских программеров и заканчивая перегрузкой & - ни один нормальный разработчик не будет модифицировать операторы таким образом что бы кардинально поменять их смысловую нагрузку
0
|
|
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|
| 11.07.2016, 17:18 | |
|
vxg
Вам уже всё разжевали и в рот положили. Все используют ссылки и никому в голову не приходило, что это, видите-ли страшно неудобно! И нигде в таблице Герба Саттера в качестве принимаемого параметра нет указателя. https://www.youtube.com/watch?... .be&t=3454 Если Вы не умеете использовать С++ -- это ваши личные трудности. Но транслировать свою глупость окружающим -- это перебор!
0
|
|
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 11.07.2016, 17:20 | |
|
mporro, никто не говорит что это страшно неудобно - если вы не умеете использовать глаза это ваши трудности
0
|
|
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
|||
| 11.07.2016, 17:25 | |||
|
Вполне логично, например, возвратить при операции взятия адреса указатель на какую-то память, которую класс абстрагирует. Точно также, как вполне логично перегрузить разыменование для умного указателя. Вот только это будут другие адреса и другие разыменования, хотя с точки зрения бизнес-логики они будут идеально осмыслены. Добавлено через 3 минуты Так почему же не используют в swap указатели?! Как же так? Они же удобнее!
0
|
|||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
||
| 11.07.2016, 17:28 | ||
|
mporro, результат применения перегруженного оператора к объекту в идеале не должен отличаться от того что было бы если бы вы применили этот оператор к обычному типу если подобные аналогии вообще существуют. то есть не нужно перегружать умножение для суммирования или делать еще какую нибудь ересь вроде того что вы описали
Добавлено через 1 минуту
0
|
||
|
Комп_Оратор)
|
||
| 11.07.2016, 17:50 | ||
|
1
|
||
| 11.07.2016, 17:53 | |
|
Не по теме: IGPIGP, на третьей (!) странице обсуждения хоть кто-то вспомнил о ТС :D
0
|
|
| 11.07.2016, 18:00 | |
|
0
|
|
|
306 / 101 / 18
Регистрация: 04.07.2014
Сообщений: 571
|
||
| 11.07.2016, 18:14 | ||
|
Конечно, указатели ближе к С#-ссылкам. ТС также хочет знать, где эти указатели использовать. И хороший ответ -- нигде. За исключением, возможно, умных указателей, если есть накладные расходы на heap. О чём и рассказывает Саттер. То, что ссылки C# могут быть NULL, скорее плохо, чем хорошо.
0
|
||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 11.07.2016, 19:42 | |
|
Croessmah, было, см Используются ли на практике указатели на указатели объектов?
0
|
|
|
Игогошка!
1801 / 708 / 44
Регистрация: 19.08.2012
Сообщений: 1,367
|
|||||||||
| 11.07.2016, 19:45 | |||||||||
|
Копнем чуть глубже.
0
|
|||||||||
|
Модератор
3410 / 2182 / 354
Регистрация: 13.01.2012
Сообщений: 8,469
|
|
| 11.07.2016, 19:47 | |
|
ct0r, если вы не поняли то уже не поймёте не напрягайте то место в которое вы еду проталкиваете
0
|
|
| 11.07.2016, 19:47 | |
|
В matlab есть указатели на переменные или что-нибудь похожее на указатели? Через указатели на указатели посчитать сумму двух чисел и записать в третье Почему Лафоре использует указатели на указатели, вместо обмена значениями указателей? Используя нетипизированные указатели и указатели на подпрограммы обобщить сортировку пузырьком Указатели на указатели с числами. Почему можно присвоить число в 4-ый элемент, если массив из 2 элементов? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
# Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет)
Это сводка для продолжения работы в новом чате — предыдущий переполнен.
Ниже: что за проект, архитектура, что уже проверено рабочим. . .
|
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов
Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
|
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация
В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
|
Сукцессия 20. Война автоботов. Делаем ставки. Лёд против "пш-пш!".
anaschu 11.07.2026
Битва ИИ в ризосфере: Как мы скрестили жесткие ОДУ, закон Фика и «подземный шантаж»
Уважаемые коллеги!
Хочу поделиться уникальным опытом ведения междисциплинарной компьютерной разработки. Прямо. . .
|
|
Сукцессия 19. Какие выводы я сделал из модели? Часть 2.Внутримикоризный стехиометрический буфер и хроно-дискретные зоны экспансии
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
|
Сукцессия 18. Какие выводы я сделал из войны грибов с деревьями? Часть 1- рассказ и немного про термины
anaschu 11.07.2026
Био-Инженерный Ликбез: Архитектура Модели Ризосферы
Математический аппарат моделирования
Система ОДУ описывает динамику изменения массы различных компонентов системы во времени. Ключевой. . .
|
Просветление в 5 секунд
kumehtar 10.07.2026
Андрей Веретенников выдал фразу недавно: "Вам не обязательно кем-то себя считать"
|
Эксперимент с картинкой-обложкой на CodinGame
Adler 10.07.2026
Решил на днях провести эксперимент. У меня есть аккаунт на CodinGame, ТОП-3 по РФ среди 2200 участников (в разделе соревнования по программированию ИИ-ботов). Там есть обложка, куда можно влепить. . .
|