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

чем отличается вызов объекта через "." и через "->" - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.64
Kleyo
0 / 0 / 0
Регистрация: 10.05.2009
Сообщений: 11
15.05.2009, 18:28     чем отличается вызов объекта через "." и через "->" #1
Здравствуйте.
Вот создал топик для тех, кто желает сам познать С++, но у которых есть вопросы по базовым знаниям.

Начну с вопроса: чем отличается вызов объекта через "." и через "->"
И в каких случаях лучше применять тот или иной способ.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2009, 18:28     чем отличается вызов объекта через "." и через "->"
Посмотрите здесь:

Код ошибки при вызове функции через "system" C++
Передача консольных команд в CMD через system(""); C++
C++ произведение через "одиного" между min и max, и через 1 цикл
Как обмануть компилятор и "перепрыгнуть через функцию"? C++
"Взлом" своей программы через артманию C++
Программа "калькулятор" через процедурное программирование C++
Через каждые 5 символов добавить пробел и посчитать количество символа "X" C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
16.05.2009, 20:41     чем отличается вызов объекта через "." и через "->" #21
разница между A a= new A; и A a в том что в первом случае вызывается конструктор
БСК
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Monte-Cristo
 Аватар для Monte-Cristo
2807 / 1372 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
16.05.2009, 20:42     чем отличается вызов объекта через "." и через "->" #22
Цитата Сообщение от Mecid Посмотреть сообщение
разница между A a= new A; и A a в том что в первом случае вызывается конструктор
конструктор в любом случае вызыввается.. хоть так, хоть так:

C++
1
2
A a;
A *a = new A;
Mecid
 Аватар для Mecid
678 / 227 / 4
Регистрация: 15.10.2007
Сообщений: 1,247
16.05.2009, 21:34     чем отличается вызов объекта через "." и через "->" #23
понял ошибку...поспешные выводы....
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16935 / 5340 / 328
Регистрация: 30.03.2009
Сообщений: 14,354
Записей в блоге: 26
16.05.2009, 23:01     чем отличается вызов объекта через "." и через "->" #24
Цитата Сообщение от Kleyo Посмотреть сообщение
В таком случае я не понимаю, зачем есть два способа, а не один. Зачем тогда разработчикам языка вообще нужно было делать вызов через указатель?
Просто в одном случае обращение идёт через объект, а в другом через указатель. Первоначальное назначение точки и стрелки (из языка Си) - это доступ к ПОЛЯМ структоры. Методы появились только в Си++ и для обращения к методам были использованы те же конструкции.

Из две, потому что в одном случае ты обращаешься через объект, а в другом - через указатель. Т.е. на уровне кода это две разные операции, но на уровне записи текста программы можно было бы сделать и одну (как с квадратными скобками)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.05.2009, 00:03     чем отличается вызов объекта через "." и через "->"
Еще ссылки по теме:

C++ Проверить, встрачается ли в заданном тексте буква "а" чаще, чем буква "b"
Чем отличается вызов функции setlocale(0, "") от setlocale(LC_ALL,"")? C++
C++ Как открывать файлы-ЕХЕ для С++ через "декомпилятор JetBrains dotPeek .1.5"?
C++ Чем отличается "\n" от std::endl?
C++ Написание програмы по теме "строки" через функцию

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

Или воспользуйтесь поиском по форуму:
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
17.05.2009, 00:03     чем отличается вызов объекта через "." и через "->" #25
Kleyo
C++
1
2
3
4
classA a;
classA*pa=&a;
pa->go();
(*pa).go();
те стрелка в-принципи ради удобства
Yandex
Объявления
17.05.2009, 00:03     чем отличается вызов объекта через "." и через "->"
Ответ Создать тему
Опции темы

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