![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
mishaga |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 14 Регистрация: 15.2.2009 Пользователь №: 552 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хочу обратиться с функции-члену или переменной данного класса.
В каких случаях я должен делать это через точку, а в каких через стрелочку? myClass->myFunction(); или myClass.myFunction(); Прошу помидорами не закидывать, я в C++ пока совсем зелёный =) |
|
|
![]() |
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
mishaga,
Джеф Элджер "С++" Раскрывающийся текст Цитата Указатели и ссылки Попытки связать указатели с динамическими объектами часто приводят к недоразумениям. В сущности, они не имеют друг с другом ничего общего. Вы можете получить адрес стекового объекта и выполнить обратное преобразование, то есть разыменование (dereferencing) адреса динамического объекта. И на то, и на другое можно создать ссылку. { foo f; foo* p = &f; f.MemberFn(); // Использует сам объект p->MemberFn(); // Использует его адрес p = new foo; foo& r = *p; // Ссылка на объект r.MemberFn(); // То же, что и p->MemberFn() } Как видите, выбор оператора . или -> зависит от типа переменной и не имеет отношения к атрибутам самого объекта. Раз уж мы заговорили об этом, правильные названия этих операторов (. и ->) — селекторы членов класса (member selectors). Если вы назовете их «точкой» или «стрелкой» на семинаре с коктейлями, наступит гробовая тишина, все повернутся и презрительно посмотрят на вас, а в дальнем углу кто-нибудь выронит свой бокал. |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.7.2025, 18:03 |