![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Для чего нужны указатели и как ими пользоваться? В каких случаях нужно их использовать, а в каких - нет?
P.S. Я этот вопрос задал не от того, что не искал. У меня есть учебник по C++, но там об этом ничего не написано. |
|||
|
||||
gepard |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2477 Регистрация: 29.2.2004 Репутация: 2 Всего: 40 |
Два указателя: на память(хранит адрес) и на значение. Нужны для того, чтобы указывать
![]() -------------------- Когда начинаются цифровые войны, а траффик разносит моё сознание по бесконечным просторам инета, подобно ветру, разносящему листву по полям, тогда и только тогда я чувствую себя свободным! © Я, Берсерк, что значит - Неистовый. |
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Гениально.
![]() ![]() А понормальней объяснить можно? Пример привести можете? (особенно желательно пример работы со строками с применением указателей). Это сообщение отредактировал(а) sim7 - 2.8.2005, 16:37 |
|||
|
||||
ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
В поиск батенька, в FAQ здешнее. Всё уже давно описано.
|
|||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
У меня почему-то FAQ вашего сайта не отображается.
![]() |
|||
|
||||
comcon1 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Пользоваться так:
Если указатель на начало массива:
|
||||
|
|||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
А можете привести пример работы со строками?
|
|||
|
||||
kometa_triatlon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 384 Регистрация: 7.1.2005 Где: Киев Репутация: 2 Всего: 6 |
sim7
Указатель на что-то нужен чтобы с этим чем-то работать. Проход по массиву тебе уже показали, часто используются при работе с объектами, при передаче параметров по указателю и т.д., то есть чтобы не тратить лишнюю память. Учись дальше и все поймешь, твой вопрос из разряда "зачем нужны массивы"... -------------------- Всё очень просто: сказки обман, Солнечный остров скрылся в туман, Замков воздушных не носит земля, Кто-то ошибся, ты или я. -------------- Программирование - самое большое удовольствие, которое вы можете получить, будучи одетым. |
|||
|
||||
ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
||||
|
||||
mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Спасибо.
![]() ![]() |
|||
|
||||
CoreDumped |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 1.8.2005 Репутация: нет Всего: 1 |
Ну конечно всё что нельзя сделать без указателей можно сделать при помощи переменных ссылок. Кстати в дочернем языке от микрософт с# нет указателей.
Ну а так можно отметить что функция в языке с или с++ возвратить может только одну переменную и что делать если таких переменных две, три, пять... сто...? Правильно использовать указатели (ну или ссылки). А после выполнения функции использовать указатель как надо. вот пример:
Кстати библиотека stl ох как не может существовать без указателей. Ведь итераторы в приметивном своём виде это и есть указатели (ну а не в приметивном классы ![]() Это сообщение отредактировал(а) CoreDumped - 3.8.2005, 08:07 |
|||
|
||||
ManiaK |
|
|||
![]() Homo Sapience ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1145 Регистрация: 3.8.2004 Где: ИУ5-93 Репутация: 5 Всего: 29 |
Ни одна серьёзная библиотека/программа/функция даже не может существовать без указателей. |
|||
|
||||
comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: 12 Всего: 17 |
Залезь в соседнюю тему, где чувак корячится с двухмерным массивом. Посмотри, как он обращается к элементам, и как я.
|
|||
|
||||
Chaos A.D. |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 172 Регистрация: 16.1.2005 Где: 09 RUS Репутация: 6 Всего: 7 |
Если все еще остались темные пятна в использовании указателей, почитай мою, хм, "статью" тут. Писал я её давно. На тот момент у меня за плечами не было и полугода программирования. И поэтому сейчас можно очень много всего добавить и подправить. Об одних только указателях на функции-члены и приведении типов в стиле C++ можно столько понаписать.. Но тебе, как начинающему, хватит.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest |
|||
|
||||
LPBOY |
|
||||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Chaos A.D., статья отличная, но есть парочка неточностей...
По Стандарту здесь ошибка. Все что ты расписал ниже(в статье) относится скорее к const int & r = 12; Кстати тут мне вспомнился очень поучительный пример:
,но
ИМХО, только снимает, но не устанавливает константность. Это сообщение отредактировал(а) LPBOY - 3.8.2005, 12:24 --------------------
Каждый человек по-своему прав, а по-моему нет... |
||||||||||
|
|||||||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |