|
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
|
|
Понимание для чего вообще нужны указатели?12.11.2011, 20:12. Показов 33928. Ответов 112
Метки нет (Все метки)
Сейчас будет чистый мой тупняк. Слабонервным дальше не читать. Итак, для чего вообще нужны указатели? Я вот не пойму, зачем их надо было вообще придумывать??? Не понимаю их конкретной пользы, смысла. Кто-нибудь может по-человечески объяснить?
1
|
|
| 12.11.2011, 20:12 | |
|
Ответы с готовыми решениями:
112
Для чего нужны указатели?
Ссылки и указатели, для чего нужны те и другие? |
|
Заблокирован
|
|||||||
| 12.11.2011, 20:32 | |||||||
Я уж не говорю о том, а как быть с памятью, выделяемой динамически?!
1
|
|||||||
|
|
|
| 12.11.2011, 20:48 | |
|
Я тоже раньше думала, что указатели - это что-то сложное, пока не прочитала одну статью про то как работает программа с памятью на низком уровне.
0
|
|
|
|
|
| 12.11.2011, 21:07 | |
|
Без указателей можете вычеркнуть все списки, стеки, деревья, которые располагаются в памяти не последовательно (в отличие от массивов), вычеркните динамические массивы, да собственно и обычные массивы, так как они тесно связаны с указателями. И что вы получите, задайте себе такой вопрос. Получится обычный калькулятор.
0
|
|
|
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
|
|
| 12.11.2011, 21:13 [ТС] | |
|
Да понял я) но все равно не понимаю) я понял предназначение указателей, но не понял их смысл. Для меня все ещё это что-то сложное.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 12.11.2011, 21:16 | |
|
указатель не есть чтото необычное - это синтаксическая надстройка над командами ассемблера работы с памятью
0
|
|
|
Заблокирован
|
||||||
| 12.11.2011, 21:28 | ||||||
|
Вообще, указатели в современное время почти ниодин уважающий себя программист не использует,
так как ныне памяти у компьютеров хоть отбавляй, а путаницы с этими указателями ооочень много. Вот, например классический пример утечки памяти из-за применения указателей (язык С++):
Но, тем не менее на основе указателей основано множество интересных методов, например сортировка массива с использованием бинарного дерева.
0
|
||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 12.11.2011, 21:30 | |
|
mc.Duck, смарт-поинтеры не изобрели?
0
|
|
|
Заблокирован
|
|
| 12.11.2011, 21:38 | |
|
Thinker, указатели - прошлый век! Сейчас надо голову над другим ломать, над чем-то более
современным. Без указателей всегда можно обойтись. ![]() Добавлено через 1 минуту alex_x_x, я лишь хотел показать, что использование в программах указателей черевато ошибками)
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 12.11.2011, 21:40 | |
|
Написание программ само собой чревато ошибками.
0
|
|
|
Фрилансер
|
|||||
| 12.11.2011, 21:41 | |||||
|
0
|
|||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
||||
| 12.11.2011, 21:43 | ||||
|
и иногда очень сложные для разрешения
0
|
||||
|
Заблокирован
|
||||||||||||
| 12.11.2011, 21:46 | ||||||||||||
Сообщение было отмечено как решение
РешениеТы говоришь: "Система! Дай мне мегабайт памяти!" А она тебе отвечает: "Да не вопрос, бери! " На самом деле Система сначала будит искать свободный, никем не занятый кусок памяти. А когда найдёт, ей нужно как то передать тебе знание о том, где этот кусок лежит. Она тебе говорит: "Вот ты просил у меня мегабайт памяти, вот я тебе нашла нужный кусок. Вот его адресс - бери и пользуйся". С точки зрения высокоуровневого программиста на с++, указатель - это самая обычная переменная, задача которой хранить адрес. И когда ты делаешь например так:
Но тебе же нужно не просто знать адрес памяти, который у тебя теперь есть. Тебе ещё нужно как то получить доступ к этой памяти. По сути на руках у тебя есть только указатель на кусок памяти. Но у самого этого куска памяти имени нет. Этот кусок памяти - это не переменная, это просто кусок памяти и все! Теперь смотри дальше. Допустим, у тебя есть собственно ручно написанный класс. Допустим... CColobok Когда ты говоришь системе:
Но тебе же нужен не просто кусок памяти. Тебе нужно получить доступ к самому колобку! Адрес то колобка у тебя есть. У тебя нету имени этого колобка. Понимаешь? Колобок есть, а имени нету. Однако, твой указатель имеет тип. И тип данных указателя подскажет компилятору, на что именно он указывает. Таким образом значение указателя - это где живет колобок. А тип указателя - это что кусок памяти действительно является колобком. Вот и получается, что указатель позволяет программисту работать с объектами, не зная их имен. И работать не с переменными, а напрямую с памятью.
8
|
||||||||||||
|
Заблокирован
|
|
| 12.11.2011, 21:51 | |
|
KuKu, полностью с вами согласен.
Добавлено через 2 минуты alex_x_x, да еще найдется над чем голову поломать - WinApi - тоже не так то просты в изучении)
0
|
|
|
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
|
|
| 12.11.2011, 21:51 [ТС] | |
|
0
|
|
|
Заблокирован
|
||
| 12.11.2011, 21:56 | ||
|
0
|
||
|
22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
|
|
| 12.11.2011, 21:57 [ТС] | |
|
Начал кодить, теперь блин в каждой операции с указателем говорю про себя(уже приелось, похоже):Система, дай мне кусок памяти!
0
|
|
|
|
|
| 12.11.2011, 21:58 | |
Сообщение было отмечено как решение
Решение
4
|
|
| 12.11.2011, 21:58 | |
|
Помогаю со студенческими работами здесь
20
Для чего нужны и зачем использовать smart-указатели? Что за драйвера такие, для чего они и нужны ли они вообще? С чего начать для понимание PHP
Понимание звуковой волны , да и вообще волн в целом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|