Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 31.10.2019
Сообщений: 4
1

Ссылки и указатели

02.11.2019, 21:58. Просмотров 170. Ответов 7
Метки нет (Все метки)

Здравствуйте, может кто объяснить в чем будет отличие при передаче в функцию по **[имя], *[имя], *&[имя], &(**[имя]), желательно на примерах простых
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2019, 21:58
Ответы с готовыми решениями:

Ссылки vs Указатели
Почему ссылки считаются более хорошим средством, чем указатели? Ведь если человек будет...

Ссылки и указатели
#include <iostream> using namespace std; int main() { int *n=new int{1,2};...

Ссылки и указатели
Вот есть код в котором я проверял как ведут себя указатели : using namespace std; int* first()...

Указатели и ссылки
Собственно, не могу до конца осознать как это работает, вот пример из вики(комменты входят в...

7
166 / 116 / 32
Регистрация: 14.10.2014
Сообщений: 665
02.11.2019, 22:13 2
Цитата Сообщение от DmitryTs Посмотреть сообщение
**[имя], *[имя], *&[имя], &(**[имя])
А вы можете объяснить - что это такое. Вы имеете ввиду передачу в функцию параметра по ссылке, указателю? Или что-то другое
0
0 / 0 / 0
Регистрация: 31.10.2019
Сообщений: 4
02.11.2019, 22:15  [ТС] 3
Recrut_rf, да, я про передачу параметра в функцию, просто вот даже к примеру видел передают массив одномерный и так *arr, и так *&arr
0
фрилансер
1434 / 996 / 292
Регистрация: 11.10.2019
Сообщений: 3,166
02.11.2019, 22:28 4
DmitryTs,

например, имеем указатель на массив int* arr

аргумент функции:
void f(int* arr) - передаётся копия arr (указателя на массив). Можно будет менять элементы массива внутри функции
void f(int*& arr) - ссылка на переменную arr. Можно то же самое, но вдобавок и само значение указателя arr поменять

ещё пример
C++
1
2
3
4
5
6
    int i=0;
    int* arr=&i;//arr указывает на i
    int*& arr_ref=arr;//arr_ref - ссылка на arr, оба указывают на i
    
    int i2=0;
    arr_ref=&i2;//теперь arr и arr_ref указывают на i2
0
Грамотный. Безпорно.
16788 / 9684 / 1869
Регистрация: 27.09.2012
Сообщений: 24,035
Записей в блоге: 2
02.11.2019, 22:31 5
Цитата Сообщение от Алексей1153 Посмотреть сообщение
имеем указатель на массив int* arr
Это указатель на int.
Указатель на массив - это несколько иной тип.
Например, int (*)[10] - указатель на массив из 10 int'ов
0
фрилансер
1434 / 996 / 292
Регистрация: 11.10.2019
Сообщений: 3,166
02.11.2019, 22:33 6
Croessmah, int* - это указатель на первый элемент массива. Массив может состоять и из одного элемента (это и будет указатель на int)

Собственно, под массивом я подразумеваю элементы, друг за другом расположенные в озу (неважно, статический или динамический массив)
0
166 / 116 / 32
Регистрация: 14.10.2014
Сообщений: 665
02.11.2019, 22:48 7
вот ссылка на видео чтобы не писать много букв

Добавлено через 5 минут
Цитата Сообщение от Алексей1153 Посмотреть сообщение
int* - это указатель на первый элемент массива
Вообще то указатель на массив (тот, который указывает на первый элемент массива, под массивом имеется ввиду статический массив) и просто указатель - это не совсем одно и тоже. В первом случае это будет константный указатель, которому нельзя присвоить другой адрес. Обычному же указателю никто не мешает передать в качестве значения адрес любой переменной нужного типа.
0
Эксперт PHP
2673 / 2341 / 1094
Регистрация: 14.05.2014
Сообщений: 6,689
Записей в блоге: 1
02.11.2019, 23:46 8
Цитата Сообщение от Алексей1153 Посмотреть сообщение
int* - это указатель на первый элемент массива.
int* - это указатель на данные типа int. Не больше и не меньше. Не придумывайте лишнего.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2019, 23:46

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

Ссылки и указатели
Добрый день, не могу понять чем помогают при использовании указатели и ссылки? Есть код на...

Указатели и ссылки
Экспериментируя с указателями пришел к вот таким выводам: int a; //переменная int *b;...

Указатели и ссылки c++
Здравствуйте! Не могли бы вы объяснить как можно использовать ссылки и указатели c++ на практике? Я...

Ссылки, указатели
Доброго времени. Как, используя ссылки, указатели и, возможно, другие приемы сделать что-то вроде...


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

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

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