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

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

Войти
Регистрация
Восстановить пароль
 
rumfelow
0 / 0 / 0
Регистрация: 17.08.2015
Сообщений: 22
#1

Оператор селектор -> - C++

17.08.2015, 11:09. Просмотров 612. Ответов 11
Метки нет (Все метки)

Обьясните, пожалуйста, работу оператора селектор -> Что он делает? Для чего нужен? Как вообще с ним работать. Если можно с примером. Спасибо.
 Комментарий модератора 

Запрещено использовать нецензурные выражения в любом виде, оскорблять других участников форума, умышленно использовать выражения, противоречащие правилам русского языка, в том числе "олбанский" язык.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2015, 11:09     Оператор селектор ->
Посмотрите здесь:

Селектор - C++
Имеется селектор double size() const { return _n;}Подскажите что значит const?

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

оператор while - C++
На первой ферме имеется 1000 овец. Ежедневно количество овец на первой ферме увеличивается на 1%. Если в конце месяца на первой ферме...

оператор if - C++
если А = 5 , то пишется if(A == 5) а если А от 5 до 7 включительно, как записать ?

Оператор with - C++
В C++ есть аналог оператора with как в Delphi?

Оператор if,else - C++
Дано вещественное число x. Составить программу вычисления f(x) в соответствии с ее областью определения. f(x)=∛(x+2)/sin(⁡ln⁡x)...

Оператор % в C++ - C++
Где можно почитать про % оператор? Желательно примеры\объяснения и тд.

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
В астрале
Эксперт С++
7967 / 4729 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.08.2015, 11:18     Оператор селектор -> #2
Доступ к члену класса через указатель на объект класса.
C++
1
2
3
4
5
6
7
struct A
{
   int a;
};
 
A* obj = new A();
obj->a = 1;
hoggy
6368 / 2586 / 451
Регистрация: 15.11.2014
Сообщений: 5,714
Завершенные тесты: 1
17.08.2015, 11:23     Оператор селектор -> #3
Цитата Сообщение от rumfelow Посмотреть сообщение
Что он делает?
как и любой другой оператор он сделает ровно то,
что вы сами для него запрограммируете.

например, он может послать вам рождественскую открытку по почте.

хотя обычно стрелочка - это доступ к ресурсу.

примеры:

C++
1
2
some* p = getSomePtr();
std::cout<< p->data<<std::endl;
C++
1
2
3
4
std::shared_ptr<some> smart 
    = std::make_shared<smart>();
 
std::cout<< smart->data << std::endl;
ForEveR
В астрале
Эксперт С++
7967 / 4729 / 320
Регистрация: 24.06.2010
Сообщений: 10,539
Завершенные тесты: 3
17.08.2015, 11:33     Оператор селектор -> #4
hoggy, Все же не любой.
The following operators cannot be overloaded:
.
.*
::
?:
nor can the preprocessing symbols # and ## (Clause 16).
engine76
2 / 2 / 0
Регистрация: 04.03.2014
Сообщений: 65
17.08.2015, 11:39     Оператор селектор -> #5
Доступ к членам структуры, класса через указатель.
C++
1
2
3
4
5
6
7
8
9
10
11
12
class myClass
{
public:
void printMessage()
{
std::cout << "message" << std::endl;
}
};
myClass* ptr = new myClass;
ptr->printMessage();
 
delete ptr;
Цитата Сообщение от ForEveR Посмотреть сообщение
A* obj = new A();
Может я чего не понимаю, но зачем тут круглые скобки при выделении памяти?
hoggy
6368 / 2586 / 451
Регистрация: 15.11.2014
Сообщений: 5,714
Завершенные тесты: 1
17.08.2015, 11:46     Оператор селектор -> #6
Цитата Сообщение от ForEveR Посмотреть сообщение
Все же не любой.
представленные вами операторы так же делают ровно то,
что для них запрограммировали.

вы лишь никак не можете изменить эту логику.

Добавлено через 1 минуту
Цитата Сообщение от engine76 Посмотреть сообщение
Может я чего не понимаю, но зачем тут круглые скобки при выделении памяти?
ни за чем.

просто так читабельнее - смахивает на вызов конструктора.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.08.2015, 12:37     Оператор селектор -> #7
Цитата Сообщение от hoggy Посмотреть сообщение
ни за чем.
Со скобками и без - будут разные способы инициализации.
http://rextester.com/MHHRI22942
DrOffset
6909 / 4102 / 933
Регистрация: 30.01.2014
Сообщений: 6,893
17.08.2015, 12:44     Оператор селектор -> #8
Цитата Сообщение от Croessmah Посмотреть сообщение
будут разные способы инициализации.
Для POD.
Для неPOD в любом сучае (со скобками и без) вызывается конструктор по умолчанию.
John Prick
773 / 706 / 129
Регистрация: 27.07.2012
Сообщений: 2,022
Завершенные тесты: 3
17.08.2015, 12:45     Оператор селектор -> #9
Цитата Сообщение от Croessmah Посмотреть сообщение
Со скобками и без - будут разные способы инициализации.
Интересно, это "стандартная" фича?
DrOffset
6909 / 4102 / 933
Регистрация: 30.01.2014
Сообщений: 6,893
17.08.2015, 12:49     Оператор селектор -> #10
Цитата Сообщение от John Prick Посмотреть сообщение
Интересно, это "стандартная" фича?
Да.
http://en.cppreference.com/w/cpp/lan...initialization
Наш случай - это пункт 4.
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
17.08.2015, 12:58     Оператор селектор -> #11
Цитата Сообщение от DrOffset Посмотреть сообщение
Для POD.
Так в примере ForEveR и есть POD тип, в чем проблема то?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2015, 12:59     Оператор селектор ->
Еще ссылки по теме:

оператор if - C++
В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек...

оператор new - C++
Есть массив: static int *p=new int ; // call-счётчик вызовов требуется каждый раз выделять память и при этом сохранять все данные...

оператор if - C++
помогите с оператором if нужно сделать условие такого типа if(&lt;условие1&gt; или &lt;условие2&gt;) как именно сделать вот это или? помогите,...

Оператор [] - C++
Добрый день!!! Необходимо х обьекта А присвоить х обьекта В Хотел через A=B сделать, но не выходит ((( Сделал варворским...

Оператор if - C++
Написал код с оператором условий if...else, мне нужно что бы он проверял условие пример if (y=2) и выполнял одно действие, но когда я...


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

Или воспользуйтесь поиском по форуму:
hoggy
6368 / 2586 / 451
Регистрация: 15.11.2014
Сообщений: 5,714
Завершенные тесты: 1
17.08.2015, 12:59     Оператор селектор -> #12
Цитата Сообщение от John Prick Посмотреть сообщение
это "стандартная" фича?
ага.

C++
1
2
3
int v; //<--- мусор
 
int v = int(); //<--- явный вызов конструктора пропишет нолик
Yandex
Объявления
17.08.2015, 12:59     Оператор селектор ->
Ответ Создать тему
Опции темы

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