#MRoose
 Аватар для MIRAMIX
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416

Прошу объяснить о ссылках,указателях,стрелке -> и двоеточиях :: очень прошу я не понял синтаксис

11.12.2014, 12:07. Показов 3037. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Есть конкретно 4 типа:
1)стрелка (->)
2)указатели (*)
3)ссылки (&)
4)2е двоеточий (:

а вопрос:что они собой представляют и что с каким типом данных использовать?

например наследование это :: как я понял и пример это std::cout
из указателей понял что можно писать
C++
1
int* c
или
C++
1
int *c
и все к сожалению)) а как использовать указатели для чего они?

ссылки тоже не понял их применять к чему?

а стрелку тем более не понял.

Пожалуйста объясните хотя бы каждый по пункту

и еще когда использовать точку (.)?

конкретно ответьте что к чему.

Спасибо заранее
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.12.2014, 12:07
Ответы с готовыми решениями:

Не понимаю как сделать. Очень нужно. прошу объяснить
очень желательно примеры

Прошу объяснить
Всем привет! начал изучать эту базу на данном этапе не могу понять как правильно организовать данные,допустим есть главная таблица,в ней...

Я очень прошу... я здесь просто новенький( Мне очень срочно)
1.Составить програму- какая бы обсчитала количество слов что начинается на w,a –В данном предложении (речення СВОЕ!!!) 2.Дан...

2
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
11.12.2014, 12:23
Это не типы, а операторы.

:: оператор области видимости.
например, мы можем объявить структуру
C++
1
2
3
4
struct A
{
    void foo();
};
для реализации этой функции где-то вне места объявления, мы должны явно указать, что она принадлежит A, т.е.
C++
1
2
void A::foo()
{}
Мы можем объявить функцию с именем foo внутри другой структуры и конфликта не будет
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct A
{
    void foo();
};
 
struct B
{
    void foo();
};
 
void A::foo()
{}
 
void B::foo()
{}
Также, мы можем уточнять пространство имён. Например так:
C++
1
2
3
4
5
6
7
8
9
namespace A
{
    struct Z{};
};
 
namespace B
{
    struct Z{};
};
И обращаться через
A::Z или B::Z. Конфликтов не будет.
При использовании cout, мы явно указываем его пространство имён (а он находится в namespace std), поэтому и пишем std::cout. Здесь cout - имя объекта.

Добавлено через 2 минуты
При обращении к полям/методам структуры/класса, мы используем оператор .
C++
1
2
3
4
5
6
7
struct A
{
    int x;
};
 
A a; // объявляем структурную переменную
a.x = 2; // обращаемся к полю этой структурной переменной.
Добавлено через 5 минут
Но это при условии, что структурная переменная объявлена на стеке. А что делать, если она находится в куче?
Тогда нам нужно обращаться к полям/методам, предварительно разыменовывая переменную.

C++
1
2
3
4
5
6
7
struct A
{
    void foo(){}
};
 
A *a = new A; // объявляем указатель на структурную переменную
(*a).foo(); // обращаемся к методу этой структурной переменной.
Так как подобные обращения достаточно частые, решено было упростить синтаксис и объявить специальный оператор -> который является всего лишь сокращением (предоставляет синтаксический сахар).

таким образом, последнюю строку примера выше можно переписать как
C++
1
a->foo();
Код набирал прямо в редакторе сообщений, мог опечататься.
1
#MRoose
 Аватар для MIRAMIX
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
11.12.2014, 13:55  [ТС]
MrGluck, Спасибо конкретно)
то есть стрелка это таже точка?

но с указателями не понял.

что значит
C++
1
void foo(int* a)
"указатель на тип int"?то есть можно это назвать интовый укпзатель?или указатель типа инт
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.12.2014, 13:55
Помогаю со студенческими работами здесь

Прошу объяснить ошибку
function createStr(){ var calls = document.getElementsByClassName('call'); //коллекция из 25 ячеек var canvasWidth =...

Прошу объяснить на пальцах
Здравствуйте гуру, дающие жизнь метало текстолитовым сущностям. Прошу объяснить подробно, при помощи простых аналогий и несложных...

Прошу объяснить код
Добрый день. Только учусь, дается тяжело, если есть у кого свободное время прошу помочь по коду, особенно не понятно для чего нужен class...

Прошу объяснить код С++
здравствуйте, прошу объяснить как для полного нуба простейшими словами данный кусок кода: y=150 (10010110 в двоичной) int y=150; ...

Прошу объяснить логику задачи
Всем привет. Изучаю язык для себя лично. Уже несколько часов мучаюсь с задачей. Объясните плиз логику этого задания, а то...


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

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

Новые блоги и статьи
Создаем RESTful API с Laravel
Jason-Webb 28.04.2025
REST (Representational State Transfer) — это архитектурный стиль, который определяет набор принципов для создания веб-сервисов. Этот подход к построению API стал стандартом де-факто в современной. . .
Дженерики в C# - продвинутые техники
stackOverflow 28.04.2025
История дженериков началась с простой идеи — создать механизм для разработки типобезопасного кода без потери производительности. До их появления программисты использовали неуклюжие преобразования. . .
Тестирование в Python: PyTest, Mock и лучшие практики TDD
py-thonny 28.04.2025
Тестирование кода играет весомую роль в жизненном цикле разработки программного обеспечения. Для разработчиков Python существует богатый выбор инструментов, позволяющих создавать надёжные и. . .
Работа с PDF в Java с iText
Javaican 28.04.2025
Среди всех форматов PDF (Portable Document Format) заслуженно занимает особое место. Этот формат, созданный компанией Adobe, превратился в универсальный стандарт для обмена документами, не зависящий. . .
Динамические массивы в C++ - создание и использование
NullReferenced 27.04.2025
Динамические массивы представляют собой один из фундаментальных инструментов программирования на C++, позволяющий создавать структуры данных, размер которых определяется во время выполнения. . .
Асинхронный JavaScript: Промисы, Async/Await и Fetch API
Reangularity 27.04.2025
Пользователь заходит на веб-страницу, нажимает кнопку и. . . ничего не происходит. Сайт словно замер. Через несколько секунд всё внезапно оживает, но пользователь уже успел закрыть вкладку. Знакомая. . .
Management on GitLab and repository management in Visual Studio code
jigi33 27.04.2025
- repo management on GitLab - CI/ CD in GitLab - VCS repository management in Visual Studio code (see attachments)
Kanban или Scrum - что выбрать?
EggHead 27.04.2025
Kanban и Scrum — уже много лет удерживают лидирующие позиции среди гибких подходов. Руководители проектов и команды разработчиков то и дело сталкиваются с дилеммой: какой из этих двух методов выбрать. . .
Кастомные Middleware на C# в ASP.NET Core
UnmanagedCoder 27.04.2025
Разработка веб-приложений сегодня мало напоминает монолитное программирование прошлых лет. На смену громоздким блокам кода пришла модульная архитектура, где каждый компонент выполняет строго. . .
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru