![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Ребят, год пытаюсь писать на С++, но все никак не могу разобраться в указателях, знаю самый минимум-то, что это адрес, а для извлечения значений нужна разыменовка указателя, посмотрел коды разные, попытался что-то поменять, сделать без указателей, но никак не выходит, даже в потоке fstream они используются, т.е. применяются чаще.
Вот несколько вопросов, чем отличается например объект типа МойКласс, если МойКласс new_obj; МойКласс *new_obj; Я так понял то, что там, гдле указатели-можно создавать несколько объектов, которые будут создаваться при помощи new..., но тут еще более странный код нашел, который я переделать на делфи пытался. Код:
2) функция возвращает ссылку, почему бы просто не возвратить i? 3) *token = expr[i]; - эта строчка тоже не ясна, ведь объявили переменную не как указательную
from dark to light)
Последний раз редактировалось Алексей_2012; 26.07.2015 в 13:21. |
![]() |
![]() |
![]() |
#2 | ||||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,726
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||
![]() |
![]() |
![]() |
#3 | |||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
МойКласс new_obj; - Резервируется в стеке, не требует создания и освобождения. МойКласс *new_obj; - Указатель. Требует создания и освобождения. Размещается в куче. Цитата:
Цитата:
I'm learning to live...
|
|||
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,726
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]() Код:
2) Это не ссылка, а указатель, ссылки это немного другое. А возвращает указатель, например, для того, чтоб можно было изменить саму переменную, которая находиться по этому указателю. 3) char token[80] - это тот же самый char* как и expr. А запись *token - это обращение к первому элементу этого массива.
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
![]() |
![]() |
![]() |
#6 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
Спасибо всем тем, кто помогает) но увы, все равно не понимаю принципиального отличия
Указателя на функцию от просто функции, вообще саму идею: для чего это нужно Так же и с указателями на объект от самого объекта. Много видео пересмотрел про указатели, все тщетно, видать плюсы - это не мое. Хотя так же и с другими языками было , главное-желание понять. Почему-то вспомнил слова друга, про ассемблер-если поймешь его, то плюсы дадутся с легкостью, видимо был он прав ![]()
from dark to light)
Последний раз редактировалось Алексей_2012; 02.08.2015 в 21:58. |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Думаю, на этом примере будет понятно, чем отличается указатель от самого объекта класса:
Код:
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
|
![]() |
![]() |
![]() |
#8 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
не очень понятно, но стараюсь разобраться, спасибо, а как быть с функцией из поста 1, с вопросом из поста 6?
from dark to light)
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 01.06.2015
Сообщений: 497
|
![]()
Функция возвращает указатель на int, т.е. адрес, где лежит значение переменной:
Код:
Что именно не понятно?
Если помог, буду очень благодарен за Ваш отзыв (весы в левой нижней части сообщения).
Последний раз редактировалось Krasiosoft; 02.08.2015 в 22:37. |
![]() |
![]() |
![]() |
#10 |
t45t
Участник клуба
Регистрация: 20.03.2012
Сообщений: 1,849
|
![]()
ВОзможно ли ее переписать, не используя указатели?
from dark to light)
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
указатели | salmon172 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 31.05.2011 21:34 |
указатели | Артэс | Общие вопросы C/C++ | 4 | 07.09.2010 11:08 |
Указатели | Анютик_sexi | Помощь студентам | 3 | 16.06.2010 14:38 |
Указатели | AquaticSoul | Общие вопросы C/C++ | 5 | 22.12.2009 15:13 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |