Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
#1

Указатели. Работа с указателями - C++

07.07.2012, 19:00. Просмотров 479. Ответов 8
Метки нет (Все метки)

Здравствуйте, товарищи. Хотел у вас поподробнее выяснить что такое указатели.Точнее я понял, что это указатель - это переменная, которая содержит в себе адрес на другую переменную(и не только). Но для чего используются указатели?Какие есть особенности при работе с указателями? Удобно ли их использовать?И самое главное - КАК их использовать?

Пожалуйста, ответьте на эти вопросы.
Заранее спасибо.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
07.07.2012, 19:30     Указатели. Работа с указателями #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как минимум, удобно для выделения памяти для массивов неизвестного размера (хотя в С++ используют stl-контейнеры).

C++
1
int * arr = new int[size]; // size может быть неизвестна на этапе компиляции
Или для передачи объектов в функции, т.е. передаём только адрес, а не копируем значение объекта. Например, когда объект большой, это будет эффективным приёмом. К тому же, объект можно будет модифицировать внутри функции.

C++
1
2
void foo(int * x); // прототип
foo(&x); // вызов - передаём адрес объекта
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.07.2012, 19:34     Указатели. Работа с указателями #3
Цитата Сообщение от Schizorb Посмотреть сообщение
Или для передачи объектов в функции
Для этого есть ссылки. В некоторых случаях - временные объекты.
Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
07.07.2012, 19:36     Указатели. Работа с указателями #4
soon, не спорю. Это просто пример.
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6411 / 3050 / 300
Регистрация: 04.12.2011
Сообщений: 8,235
Записей в блоге: 3
07.07.2012, 19:45     Указатели. Работа с указателями #5
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
КАК их использовать?
Вот ещё пример. Связные структуры данных. Предположим есть набор данных неизвестного заранее, и предположительно большого размера. Тогда удобно организовать их в виде набора структур содержащих указатели на структуры этого же типа. Элемент двунаправленного списка, например, - структура, которая помимо полей данных содержит указатели на предыдущую и следующую структуру (элемент). Сортировка, вставка, удаление и добавление в такой список - работа с указателями, не нуждающаяся в перемещении элементов в памяти. Почитайте про связные структуры данных.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
07.07.2012, 19:46     Указатели. Работа с указателями #6
Schizorb, поймите меня правильно, это плохой пример использования указателей(в С++). От них вообще советуют отказываться(в чистом виде), заменяя более безопасными оболочками.
alex_x_x
бжни
2445 / 1650 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
07.07.2012, 19:50     Указатели. Работа с указателями #7
Цитата Сообщение от ZaMaZaN4iK Посмотреть сообщение
Пожалуйста, ответьте на эти вопросы.
Заранее спасибо.
Зачем отвечать на вопросы, ответы на которые есть в любой книжке?
я не понимат
IGPIGP
Комп_Оратор)
Эксперт по математике/физике
6411 / 3050 / 300
Регистрация: 04.12.2011
Сообщений: 8,235
Записей в блоге: 3
07.07.2012, 19:58     Указатели. Работа с указателями #8
Цитата Сообщение от IGPIGP Посмотреть сообщение
Вот ещё пример.
Еще интересна техника использования указателей на объединения. Приводя указатель к типу разных элементов объединения можно получить разные представления его максимального элемента.
Указатели на классы наследники можно получать используя приведение типа к указателю базового класса. Вещь мощная, но требует осторожности в обращении. Вообще с этим лучше знакомиться по хорошим книжкам.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2012, 20:04     Указатели. Работа с указателями
Еще ссылки по теме:

C++ Работа с указателями
работа с указателями C++
C++ работа с указателями
Указатели и действия над указателями C++
Работа с указателями C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ZaMaZaN4iK
Мой лучший друг-отладчик!
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
07.07.2012, 20:04  [ТС]     Указатели. Работа с указателями #9
alex_x_x , а что если хочется спросить мнения людей, касающиеся указателей. Не в кажлой книге они описаны понятным языком.А люди ответят на простом и доступном языке.Вот причина. И спасибо всем за ответы.
Yandex
Объявления
07.07.2012, 20:04     Указатели. Работа с указателями
Ответ Создать тему
Опции темы

Текущее время: 18:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru