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

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

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

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

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

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

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

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

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

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

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

Спасибо заранее
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2014, 12:07
Ответы с готовыми решениями:

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

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

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

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

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

:: оператор области видимости.
например, мы можем объявить структуру
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
8 / 9 / 3
Регистрация: 22.02.2013
Сообщений: 416
11.12.2014, 13:55  [ТС] 3
MrGluck, Спасибо конкретно)
то есть стрелка это таже точка?

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

что значит
C++
1
void foo(int* a)
"указатель на тип int"?то есть можно это назвать интовый укпзатель?или указатель типа инт
0
11.12.2014, 13:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2014, 13:55
Помогаю со студенческими работами здесь

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

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

Прошу объяснить код С++
здравствуйте, прошу объяснить как для полного нуба простейшими словами данный кусок кода: ...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru