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

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

Войти
Регистрация
Восстановить пароль
 
Ses
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 32
#1

Не понимаю назначение некоторых операторов С++ - C++

10.09.2013, 07:55. Просмотров 447. Ответов 10
Метки нет (Все метки)

Уважаемые, я уже как то писал, что не понимаю назначение некоторых операторов С++, но сегодня проснулся и захотелось понять. Может кто подскажет назначение операторов и разницу между ними "::", "->", "."
чем будут отличаться записи?
abc::def
abc->def
abc.def
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 07:55     Не понимаю назначение некоторых операторов С++
Посмотрите здесь:

C++ protected и его назначение
C++ Назначение static ?
C++ Назначение заголовочных файлов
C++ Назначение комментария
Назначение виртуальных методов класса C++
Назначение оператора delete[] C++
C++ Explicit и его назначение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Igor3D
903 / 458 / 40
Регистрация: 01.10.2012
Сообщений: 2,286
10.09.2013, 12:47     Не понимаю назначение некоторых операторов С++ #2
Цитата Сообщение от Ses Посмотреть сообщение
Уважаемые, я уже как то писал, что не понимаю назначение некоторых операторов С++, но сегодня проснулся и захотелось понять. Может кто подскажет назначение операторов и разницу между ними "::", "->", "."
чем будут отличаться записи?
abc::def
abc->def
abc.def
Нехорошо злоупотреблять доверием форумчан и пытаться использовать форум в качестве "живого справочника". Откройте любую книжку и прочитайте, будет лучше и быстрее. Вот возникнут непонятки - тогда спрашивайте
Ses
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 32
10.09.2013, 13:47  [ТС]     Не понимаю назначение некоторых операторов С++ #3
Цитата Сообщение от Igor3D Посмотреть сообщение
Нехорошо злоупотреблять доверием форумчан и пытаться использовать форум в качестве "живого справочника". Откройте любую книжку и прочитайте, будет лучше и быстрее. Вот возникнут непонятки - тогда спрашивайте
Igor3D, у меня в мыслях не было никого эксплуатировать, я лишь просил помочь тех кто может, тех кто по каким либо причинам этого сделать не может я ни сколько не принуждаю (и не умоляю). Моя профессия врач, и когда меня спрашивают что такое контагиозность заболевания, или дизэмбриогенез, я как то машинально отвечаю, видимо привык, что тяжело обывателю разобраться во всех терминологиях и специализированных оборотах, хотя также мог бы отправить к справочной литературе, там все подробно описано
alex078
13 / 13 / 0
Регистрация: 15.08.2013
Сообщений: 58
10.09.2013, 14:02     Не понимаю назначение некоторых операторов С++ #4
Ses, тогда вам проще найти учителя, который по скайпу все объяснит и на примерах разберет.
Просто разъяснять то, что вы попросили, не имеет смысла без примеров, кода, попытки что-то написать и понять можно только на живом скрипте
(не факт, что если вы объясните, что такое "контагиозность", человек поймет все ньюансы, так и в программировании...)
Igor3D
903 / 458 / 40
Регистрация: 01.10.2012
Сообщений: 2,286
10.09.2013, 14:09     Не понимаю назначение некоторых операторов С++ #5
Цитата Сообщение от Ses Посмотреть сообщение
Моя профессия врач, и когда меня спрашивают что такое контагиозность заболевания, или дизэмбриогенез, я как то машинально отвечаю, видимо привык, что тяжело обывателю разобраться во всех терминологиях и специализированных оборотах,
А если бы обыватель попросил Вас растолковать что такое насморк, кашель, повышение температуры? Стали бы Вы вдаваться в объяснения или как? Так почему здесь так можно?

Цитата Сообщение от Ses Посмотреть сообщение
хотя также мог бы отправить к справочной литературе, там все подробно описано
А здесь речь идет о чтении букваря, и обойтись без этого еще никому не удавалось
Ses
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 32
10.09.2013, 14:19  [ТС]     Не понимаю назначение некоторых операторов С++ #6
Цитата Сообщение от Igor3D Посмотреть сообщение
А если бы обыватель попросил Вас растолковать что такое насморк, кашель, повышение температуры? Стали бы Вы вдаваться в объяснения или как? Так почему здесь так можно?
Конечно стал бы если бы вам стало интересно что то что все называют насморком называется слизистым отделением из носа и имеет разную этиологию, кашель тоже бывает разным (может вам встречалось сухой и влажный) у каждого тоже своя этиология, повышение температуры называется лихорадкой и ее кривые так же разные при различных заболеваниях и их течении, так что вы сейчас назвали медицинским букварем это лишь то как вы понимаете медицину, вот на таком же уровне я понимаю программирование, поэтому и ищу здесь помощи.

Igor3D, не поймите меня не правильно, я не сколько ни хочу вас задеть, и продолжение дискуссии в этом направлении считаю бессмысленным.
Давайте оставим мой вопрос, может кто-то посчитает возможным ответить.
ОК?
Если нет приношу свои извинения за неуместно поднятую тему!!!!
TanaTiX
Модератор
2738 / 1583 / 144
Регистрация: 19.02.2011
Сообщений: 5,694
10.09.2013, 14:43     Не понимаю назначение некоторых операторов С++ #7
Ses, один вопрос - одна тема. Вопросы синтаксиса какого-либо языка не имеют отношения к обсуждению ООП и паттернов.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
10.09.2013, 17:09     Не понимаю назначение некоторых операторов С++ #8
покажу на примере

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct MyStruct
{
    int n;
};
 
 
int main()
{
    MyStruct obj;
    MyStruct *p = &obj;
 
    obj.n = 10;     // запишем число
    p->n = 20;      // то же самое, но через указатель
 
    cout << obj.n << " " << p->n << endl;
 
}
Добавлено через 4 минуты
::

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
namespace MyNameSpace
{
 
    struct MyStruct
    {
        int n;
    };
 
}
 
int main()
{
    MyNameSpace::MyStruct obj;
    MyNameSpace::MyStruct *p = &obj;
    MyStruct obj2;  // здесь ошибка. потому что структура находится в пространстве имен MyNameSpace
 
    obj.n = 10;     // запишем число
    p->n = 20;      // то же самое, но через указатель
 
    cout << obj.n << " " << p->n << endl;
Добавлено через 5 минут
к статическим переменным и функциям в структуре/классе можно обращаться через :: (даже если нет ни одного объекта)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
struct MyStruct
{
    static double x;
};
 
double MyStruct::x = 0;
 
 
int main()
{
    MyStruct::x = 5.5;
 
    cout << MyStruct::x << endl;
}

Добавлено через 7 минут
если коротко
abc.def - это доступ к элементу def структуры через объект
abc->def - это тоже доступ к элементу def структуры, но через указатель

Добавлено через 1 минуту
abc::def - как правило, доступ к статической переменной или к статической функции в классе
Ses
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 32
06.10.2013, 22:37  [ТС]     Не понимаю назначение некоторых операторов С++ #9
_ (не знаю как правильно написать ваш ник), низкий вам поклон.

Не сразу заметил ваше сообщение, поскольку был погружен в изучение указателей, ссылок и операторов разыменования. Пришел к выводу что медику это не понять ))) Как хорошо что этого нет в JAVA, ну как я понял эквиваленты имеются, но все же не так все запущено )))

:: я в принципе понял как обращение к статическим функциям, либо создание статической функции к уже написанному классу. А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
Croessmah
Модератор
Эксперт CЭксперт С++
12878 / 7264 / 810
Регистрация: 27.09.2012
Сообщений: 17,950
Записей в блоге: 2
Завершенные тесты: 1
06.10.2013, 22:40     Не понимаю назначение некоторых операторов С++ #10
Цитата Сообщение от Ses Посмотреть сообщение
А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
using namespace std
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.10.2013, 22:51     Не понимаю назначение некоторых операторов С++
Еще ссылки по теме:

C++ Объяснить назначение элемента кода
Назначение оператора :: C++
Почему в некоторых случаях используется массив для хранения стека, а в некоторых нет? C++
C++ Назначение mutable в лямбда-функции
C++ Задача с использованием логических операторов и операторов ветвления

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

Или воспользуйтесь поиском по форуму:
XRuZzz
Антикодер
631 / 532 / 27
Регистрация: 15.09.2012
Сообщений: 2,479
06.10.2013, 22:51     Не понимаю назначение некоторых операторов С++ #11
Цитата Сообщение от Ses Посмотреть сообщение
:: я в принципе понял как обращение к статическим функциям, либо создание статической функции к уже написанному классу. А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
Это решает проблему, например, когда вы написали свою функцию cos() и у вас есть стандартная библиотека с такой же функцией cos(). Благодаря пространству имен можно использовать две разных реализации(или какую то конкретно) в одном коде(блоке).
Для вашего уровня это знать необъязательно. Нужно до пространств имен много всего изучать. То есть нужно отбросить эти мысли о странных знаках а коде(признаюсь я тоже этим страдаю), и спокойно читать литературу для начинающих(+видеолекции, иногда литература плохо идёт). Сейчас то, что вы узнали, вы врятли сможете полноценно использовать.
Yandex
Объявления
06.10.2013, 22:51     Не понимаю назначение некоторых операторов С++
Ответ Создать тему
Опции темы

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