Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 38

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

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

Студворк — интернет-сервис помощи студентам
Уважаемые, я уже как то писал, что не понимаю назначение некоторых операторов С++, но сегодня проснулся и захотелось понять. Может кто подскажет назначение операторов и разницу между ними "::", "->", "."
чем будут отличаться записи?
abc::def
abc->def
abc.def
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.09.2013, 07:55
Ответы с готовыми решениями:

Что такое "перегрузка операторов"? Каковы принципы работы перегруженных операторов и назначение указателя this
Добрый день . Помогите понять принцип работы перегрузки операторов. объясните пожалуйста в зависимости от чего зависит агрумент при...

Правильно ли понимаю назначение ORM?
В сети есть множество построителей MySQL-запросов. Пример: DB::table('table_name')->select("title")->where("title...

Непонятно назначение некоторых методов TStringList
var lst:TStringList; // объявили переменную begin lst:= TStringList.Create; // создали объект lst.Delimiter := #10; ...

10
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,865
Записей в блоге: 2
10.09.2013, 12:47
Цитата Сообщение от Ses Посмотреть сообщение
Уважаемые, я уже как то писал, что не понимаю назначение некоторых операторов С++, но сегодня проснулся и захотелось понять. Может кто подскажет назначение операторов и разницу между ними "::", "->", "."
чем будут отличаться записи?
abc::def
abc->def
abc.def
Нехорошо злоупотреблять доверием форумчан и пытаться использовать форум в качестве "живого справочника". Откройте любую книжку и прочитайте, будет лучше и быстрее. Вот возникнут непонятки - тогда спрашивайте
0
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 38
10.09.2013, 13:47  [ТС]
Цитата Сообщение от Igor3D Посмотреть сообщение
Нехорошо злоупотреблять доверием форумчан и пытаться использовать форум в качестве "живого справочника". Откройте любую книжку и прочитайте, будет лучше и быстрее. Вот возникнут непонятки - тогда спрашивайте
Igor3D, у меня в мыслях не было никого эксплуатировать, я лишь просил помочь тех кто может, тех кто по каким либо причинам этого сделать не может я ни сколько не принуждаю (и не умоляю). Моя профессия врач, и когда меня спрашивают что такое контагиозность заболевания, или дизэмбриогенез, я как то машинально отвечаю, видимо привык, что тяжело обывателю разобраться во всех терминологиях и специализированных оборотах, хотя также мог бы отправить к справочной литературе, там все подробно описано
0
13 / 13 / 0
Регистрация: 15.08.2013
Сообщений: 58
10.09.2013, 14:02
Ses, тогда вам проще найти учителя, который по скайпу все объяснит и на примерах разберет.
Просто разъяснять то, что вы попросили, не имеет смысла без примеров, кода, попытки что-то написать и понять можно только на живом скрипте
(не факт, что если вы объясните, что такое "контагиозность", человек поймет все ньюансы, так и в программировании...)
0
1968 / 824 / 115
Регистрация: 01.10.2012
Сообщений: 4,865
Записей в блоге: 2
10.09.2013, 14:09
Цитата Сообщение от Ses Посмотреть сообщение
Моя профессия врач, и когда меня спрашивают что такое контагиозность заболевания, или дизэмбриогенез, я как то машинально отвечаю, видимо привык, что тяжело обывателю разобраться во всех терминологиях и специализированных оборотах,
А если бы обыватель попросил Вас растолковать что такое насморк, кашель, повышение температуры? Стали бы Вы вдаваться в объяснения или как? Так почему здесь так можно?

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

Igor3D, не поймите меня не правильно, я не сколько ни хочу вас задеть, и продолжение дискуссии в этом направлении считаю бессмысленным.
Давайте оставим мой вопрос, может кто-то посчитает возможным ответить.
ОК?
Если нет приношу свои извинения за неуместно поднятую тему!!!!
0
Модератор
 Аватар для TanaTiX
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
10.09.2013, 14:43
Ses, один вопрос - одна тема. Вопросы синтаксиса какого-либо языка не имеют отношения к обсуждению ООП и паттернов.
0
193 / 170 / 32
Регистрация: 09.09.2013
Сообщений: 522
10.09.2013, 17:09
покажу на примере

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 - как правило, доступ к статической переменной или к статической функции в классе
1
2 / 2 / 0
Регистрация: 22.08.2013
Сообщений: 38
06.10.2013, 22:37  [ТС]
_ (не знаю как правильно написать ваш ник), низкий вам поклон.

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

:: я в принципе понял как обращение к статическим функциям, либо создание статической функции к уже написанному классу. А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
0
Неэпический
 Аватар для Croessmah
18146 / 10730 / 2066
Регистрация: 27.09.2012
Сообщений: 27,029
Записей в блоге: 1
06.10.2013, 22:40
Цитата Сообщение от Ses Посмотреть сообщение
А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
using namespace std
0
Антикодер
Эксперт функциональных языков программирования
1888 / 870 / 48
Регистрация: 15.09.2012
Сообщений: 3,088
06.10.2013, 22:51
Цитата Сообщение от Ses Посмотреть сообщение
:: я в принципе понял как обращение к статическим функциям, либо создание статической функции к уже написанному классу. А вот пространство имен осталось за границей моего разума, я так и не догнал что это ((((
Это решает проблему, например, когда вы написали свою функцию cos() и у вас есть стандартная библиотека с такой же функцией cos(). Благодаря пространству имен можно использовать две разных реализации(или какую то конкретно) в одном коде(блоке).
Для вашего уровня это знать необъязательно. Нужно до пространств имен много всего изучать. То есть нужно отбросить эти мысли о странных знаках а коде(признаюсь я тоже этим страдаю), и спокойно читать литературу для начинающих(+видеолекции, иногда литература плохо идёт). Сейчас то, что вы узнали, вы врятли сможете полноценно использовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.10.2013, 22:51
Помогаю со студенческими работами здесь

Каково назначение перегрузки операторов
В Шилдте дается не совсем понятное определение перегрузке операторов. Как я понял, основное назначение перегрузки операторов, это...

Назначение некоторых команд консоли, а также новых утилит в составе Windows 7
Просто делимся простыми примерами каждой из команд и утилит, встроенных в Windows + описание практической пользы от них. В будущем:...

Особенности перегрузки некоторых операторов
У меня есть два вопроса насчёт перегрузки операторов. 1. Есть префиксные операторы ++ и -- и арифметические присваивания +=, -=, *= и...

Есть код. Не понимаю некоторых моментов
Не понимаю некоторые моменты, указанные в коментах. Если можете, помогите. И помимо них вопрос: почему &quot;destruct&quot; в деструкторе...

32.Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля
32.Модуль в Паскале (Unit), его назначение, структура модуля, назначение и описание частей модуля.


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru