Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
jude
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 192
#1

Оператор ->

11.03.2014, 13:32. Просмотров 696. Ответов 6
Метки нет (Все метки)

В первый раз увидел этот оператор в cocos2D, до этого в objective-с ни разу с ним не сталкивался. Что он означает и используется ли он в objective-с вне cocos2D? Заранее благодарю за ответ.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 13:32
Ответы с готовыми решениями:

При попытке добавить оператор else, появляется оператор "Ожидался оператор"
Здравствуйте, помогите пожалуйста. У меня есть программа, которая решает...

Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1
В С++ я ноль, помогите пожалуйста написать прогу Написать программу,...

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли...

Зачем нужен оператор while (именно while, а не do-while), когда есть оператор for?
Четкий и понятный ответ в литературе и на других web ресурсах не найден,...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор *
Помогите в следующем: Для класса шаблона следует перегрузить оператор...

6
korvin_
2131 / 1622 / 315
Регистрация: 28.04.2012
Сообщений: 5,829
11.03.2014, 14:20 #2
http://en.wikipedia.org/wiki/Dereference_operator
1
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
11.03.2014, 14:30 #3
Обращение к полю по указателю на структуру или экземпляр класса. При работе со структурами используется сплошь и рядом. При работе же с классами не вижу смысла этим пользоваться, ибо ООП все-таки. Единственный выигрыш, который приходит в голову - быстродействие, нет накладных расходов на поиск и вызов геттера или всякого KVC, в остальном только минусы.
1
korvin_
2131 / 1622 / 315
Регистрация: 28.04.2012
Сообщений: 5,829
11.03.2014, 18:47 #4
Цитата Сообщение от glvrzzz Посмотреть сообщение
ибо ООП все-таки. Единственный выигрыш, который приходит в голову - быстродействие, нет накладных расходов на поиск и вызов геттера или всякого KVC, в остальном только минусы.
При чем тут ООП? Если у тебя переменная указатель на экземпляр класса, то ты и геттер (или любой другой метод) будешь вызывать как

C++
1
obj->method();
1
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
11.03.2014, 18:57 #5
Цитата Сообщение от korvin_ Посмотреть сообщение
При чем тут ООП? Если у тебя переменная указатель на экземпляр класса, то ты и геттер (или любой другой метод) будешь вызывать как

C++
1
obj->method();
При том, что objective-с.
1
jude
0 / 0 / 0
Регистрация: 20.03.2013
Сообщений: 192
13.03.2014, 13:29  [ТС] #6
Т.е в objective-с этот оператор вызывает переменные класса, а в C++ он вызывает методы? Я правильно понимаю отличие?
0
korvin_
2131 / 1622 / 315
Регистрация: 28.04.2012
Сообщений: 5,829
13.03.2014, 15:42 #7
Лучший ответ Сообщение было отмечено jude как решение

Решение

Это оператор С, а не Objective C. Просто сокращенная запись доступа к элементу структуры по указателю. Я же давал ссылку на разыменовывание указателей.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <u.h>
#include <libc.h>
 
typedef struct Foo
{
    int x;
} Foo;
 
void
main(void)
{
    Foo a;
    Foo *b;
 
    a.x = 1;
    print("%d\n", a.x);
 
    b = (Foo *)malloc(sizeof(Foo));
    (*b).x = 2; // мы не можем просто написать b.x, т.к. b — это не структура Foo, а указатель на нее
    print("%d\n", (*b).x);
    b->x = 3;
    print("%d\n", b->x);
 
    free(b);
    exits(0);
}
=>
Bash
1
2
3
4
5
~/prog/c $ ./deref
1
2
3
~/prog/c $
1
13.03.2014, 15:42
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.03.2014, 15:42

Условный оператор и оператор выбора. Даны два угла треугольника. Определить, существует ли такой треугольник
Даны два угла треугольника (в градусах). Определить, существует ли такой...

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости
для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это...

Оператор с предусловием заменить на оператор с постусловием
Показать, что любой оператор цикла с предусловием можно записать с помощью...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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