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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
fredwriter
7 / 7 / 1
Регистрация: 17.10.2009
Сообщений: 298
#1

Что за оператор ->? - C++

21.09.2011, 22:17. Просмотров 956. Ответов 7
Метки нет (Все метки)

Здравствуйте, мой вопрос поместился в заголовок, но я всё же задам его и в сообщении: что за оператор ->?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2011, 22:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что за оператор ->? (C++):

Что за оператор GO TO NEXT? - C++
Правильное ли утверждение: "действие оператора continue; в приведенных ниже примерах эквивалентно действию оператора go to next;". ...

Что за оператор :: ? - C++
Объясните пожалуйста

Что означает оператор -> ? - C++
Замечаю периодически в листингах. Почитал на сайтах, не до конца понял. Обьясните, пожалуйста

Что за оператор param =:: value; - C++
В коде есть такая строка: drivethread=::AfxBeginThread(CommunicationThreadFunc,0,THREAD_PRIORITY_ABOVE_NORMAL); Что за оператор =:: ?

Что означает оператор %= ? - C++
Что означает оператор %= и как его использовать?

Что делает оператор >> в C++? - C++
кто-нибудь может объяснить что конкретно делает оператор >> в C++. есть один пример. Там используется api-функция GetLogicalDrives. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 22:23 #2
оператор доступа к мемберам объекта через указатель на объект
1
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
21.09.2011, 22:25 #3
C++
1
2
3
4
SomeClass var1;
SomeClass *var2 = new SomeClass;
var1.someFunction();
var2 -> someFunction();
Простейший пример.
1
co6ak
Кошковед
407 / 500 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
21.09.2011, 22:25 #4
если объест создан статически, то используется "."
если динамически - "->"

надеюсь не ввожу в заблуждение
1
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
21.09.2011, 22:30 #5
Цитата Сообщение от co6ak Посмотреть сообщение
если объест создан статически, то используется "."
если динамически - "->"
это в общем случае, возможен вариант
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
struct mystruct {
    int i;
}; 
 
int main() 
{
    mystruct t;
    mystruct* ptr_t = &t;
    ptr_t->i = 100500;
    std::cout << t.i << std::endl;
}
1
Gepar
1177 / 533 / 20
Регистрация: 01.07.2009
Сообщений: 3,517
21.09.2011, 22:42 #6
Ну собственно это короткий вариант обращения к объектам класса для указателей.
Допустим есть класс Test с public объектом object, так вот если в main мы сделаем указатель на Test
C++
1
Test *test=new Test; // new Test означает что память выделена под класс Test
то для обращения к object через этот указатель нужно его разименовать, а потом обратиться к объекту класса, те:
C++
1
(*test).object
скобки нужны потому что у точки больший приоритет чем у звёздочки (разименования), чтобы упростить всё это дело и не писать каждый раз эту длинную форму со скобками для указателей и сделали операцию стрелка:
C++
1
test->object
По началу немного непривычно что для указателей на класс нужно использовать стрелку, иначе - точку, но привыкаешь к этому быстро да и компилятор в случае чего показывает где ошибка.
1
Vlad_IT
1439 / 345 / 17
Регистрация: 03.04.2010
Сообщений: 2,095
21.09.2011, 22:51 #7
fredwriter, Можно сказать что это доступ к ссылочному объекту, или я не так выразился. Кодом будет яснее.

Если так объявлен объект.
C++
1
SommeClass s;
то вызов его метода будет так
C++
1
s.Method();
А если объявлен так
C++
1
SommeClass* s;
то будет так
C++
1
s->Method();
1
fredwriter
7 / 7 / 1
Регистрация: 17.10.2009
Сообщений: 298
21.09.2011, 23:53  [ТС] #8
Спасибо всем.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.09.2011, 23:53
Привет! Вот еще темы с ответами:

что делает оператор? - C++
Добрый день. Подскажите пожалуйст, что делает следующий оператор: *b=(char *) malloc(1000000);

оператор -> что это? - C++
Доброго времени суток! прошу привести понятный пример использования оператора -&gt;. нашел только в вики кое что :Structure dereference...

Что за оператор typedef? - C++
Доброго всем времени суток. Получил задание написать про оператор typedef, пересмотрел кучу книг но так и не смог ничего найти....

что выводит оператор - C++
)Следующий оператор cout &lt;&lt; &quot;Enter car speed \n&quot;; Выберите по крайней мере один ответ: Выводит на экран текст Enter car speed \n ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.09.2011, 23:53
Ответ Создать тему
Опции темы

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