|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
19.05.2013, 18:23 | #1 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Вопрос по указателю
Недавно начал изучать динамическое распределение памяти и появился небольшой вопрос. Я написал программу в которой создается динамический массив объектов. Собственно вопрос в том, почему в цикле for обращение к методам идет не через операцию ->, а через операцию точки. Ведь ptr вроде как указатель.
Код:
|
19.05.2013, 18:26 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,339
|
ptr - указатель
ptr[i] - объект
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
19.05.2013, 18:27 | #3 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
ptr - указатель. *(ptr+5) и ptr[5] - одно и то же.
Сравните: Код:
|
19.05.2013, 18:31 | #4 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Ясно, спасибо
|
19.05.2013, 22:24 | #5 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
И все таки я ничего не понял... Почему в примере выше доступ к методом получаем через операцию точки, а тут уже через стрелку?
Код:
|
19.05.2013, 22:43 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,339
|
Person *ptr[5]; - массив из 5 указателей на Person.
ptr - указатель на массив указателей.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
19.05.2013, 22:48 | #7 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
А разве ptr не является тем же массивом из amount указателей на класс Test?
Я вот смотрю на оба примера, чувствую истину, а до конца все равно уловить не могу..( Последний раз редактировалось Dima-War; 19.05.2013 в 22:51. |
19.05.2013, 22:53 | #8 |
Старожил
Регистрация: 16.12.2011
Сообщений: 2,329
|
чуешь разницу:
Test *ptr; //один указатель и Person *ptr[5]; //массив из 5ти указателей |
19.05.2013, 22:58 | #9 |
Форумчанин
Регистрация: 17.03.2012
Сообщений: 105
|
Ну да, тут я вижу разницу.
|
19.05.2013, 22:58 | #10 | |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Код:
Это касается и случая, когда Type - сам указатель: Код:
Это вообще не имеет отношения к тому, что там в эти переменные занесли, в них может быть хоть NULL. Если переменная объявлена вот так, то компилятор будет обходиться с ней вот таким образом. |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
получить строку по указателю | jivvs | Общие вопросы C/C++ | 3 | 19.01.2011 18:40 |
есть ли что то по указателю? | the_deer_one | Общие вопросы C/C++ | 3 | 21.08.2010 23:18 |
Вопрос по указателю | marazmaticus | Общие вопросы C/C++ | 6 | 12.03.2010 00:05 |
Передача массива по указателю | liver1981 | Общие вопросы C/C++ | 3 | 21.04.2009 17:07 |
Зачем указателю тип? | Scratch | Общие вопросы C/C++ | 5 | 30.09.2008 11:48 |