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

указатель

13.01.2013, 02:55. Показов 668. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
собственно смысл ссылки я понял, грубо говоря передача в функцию адреса переменной что бы функция меняла не копию, а сам передаваемый аргумент плюс избежания лишнего копирования, а что делает указатель тогда когда через него передают в функцию?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.01.2013, 02:55
Ответы с готовыми решениями:

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Указатель типа void. Использование косвенного связывания через универсальный указатель
Необходимо использовать косвенного связывания через универсальный указатель, примерный вид: struct обобщение{ключ; void* на что угодно}...

Функция, принимающая указатель и число байт и выделяющая память под указатель
Здравствуйте. Задача легкая, но почему-то завис Нужно написать функцию, принимающую указатель и число байт и выделяющую память под...

9
 Аватар для zvoronz
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
13.01.2013, 03:11
Фактически происходит тоже самое. Ссылки иногда ещё называют скрытыми указателями.
изменение будет в синтаксисе например
mult(int a, int b, int&res);
mult2(int a, int b, int* res);

mult(2, 5, otv);
mult2(2, 5, &otv);
0
1 / 1 / 2
Регистрация: 13.01.2013
Сообщений: 71
13.01.2013, 03:18  [ТС]
ну я не думаю что это всё только ради синтаксиса делали. ссылками проблем нету, а вот с указателями у меня путанина (
0
73 / 73 / 13
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
13.01.2013, 03:21
ну вот допустим есть у тебя число какое-то например 150, находится в 10-й ячейке памяти
ссылка это содержимое ячейки памяти тобиш 150, а адрес это номер ячейки тоесь 10
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
13.01.2013, 03:22
rizr, у них смысл разный: ссылка - это как бы "псевдоним" переменной, указатель же хранит адрес переменной.
0
73 / 73 / 13
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
13.01.2013, 03:45
кстати есть ещё значение.
ссылка очень похожа на значение но это не совсем одно и то же

Добавлено через 1 минуту
значение не привязано к памяти, а ссылка и указатель привязаны к памяти

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

Добавлено через 9 минут
вот допустим живёт человек в квартире, в этом случае
указатель - номер квартиры
ссылка - имя жильца
значение - сам человек

если он переехал
указатель так и указывает на квартиру
ссылка даст нам имя нового жильца
а значение (человек) где-то в другом месте живёт
0
1 / 1 / 2
Регистрация: 13.01.2013
Сообщений: 71
13.01.2013, 03:57  [ТС]
ну а тогда как понять когда нужно(или не обойтись без него) использовать указатель?
0
What a waste!
 Аватар для gray_fox
1610 / 1302 / 180
Регистрация: 21.04.2012
Сообщений: 2,733
13.01.2013, 04:03
Цитата Сообщение от rizr Посмотреть сообщение
ну а тогда как понять когда нужно(или не обойтись без него) использовать указатель?
Когда надо хранить\использовать адрес переменной. Если просто нужно косвенное обращение к переменной - ссылки должно быть достаточно.
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,536
Записей в блоге: 1
13.01.2013, 04:14
изучи чистый си, и увидишь сотни ситуаций, как и когда использовать указатели. Ссылки же в С++ чаще всего используются лишь для передачи аргументов в функции по ссылке. Поправьте, если ошибаюсь.

Добавлено через 10 минут
Проблема со ссылками в том, что они не могут быть неинициализированы, похоже они изначально затачивались именно под передачу аргументов в функции по ссылке. Во всех остальных случаях я использую указатель.
Выделение динамической памяти: указатели
хранение адреса следующего элемента в связанном списке/дереве/и.т.п: указатели
хранение указателя на объект абстрактного класса: указатели.
1
73 / 73 / 13
Регистрация: 25.12.2012
Сообщений: 189
Записей в блоге: 2
13.01.2013, 05:11
в любом случае при передаче ссылки или указателя в стек запихивается адрес, тут разницы нету. просто как удобнее и понятнее ) например если надо с памятью работать, то лучше указатель, а если просто со значением что-то делать без лишней писанины, то ссылка лучше

Добавлено через 13 минут
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Выделение динамической памяти: указатели
вот, кстати хороший пример можно привести. допустим написан код, в котором переменная создаётся в локальной памяти.
C++
1
2
int i = 0;
// и много разных использований этой переменной
а потом понадобилось что бы эта переменная была в динамической памяти
проще сделать так
C++
1
2
int *pi = new int(0);
int &i = *pi;
и тогда ничего в коде не надо менять, только дописать в конце
C++
1
delete pi;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.01.2013, 05:11
Помогаю со студенческими работами здесь

Функция, получающая указатель на обычную функцию, получает указатель на метод класса
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Как правильно удалять выделенную память под указатель на указатель?
есть код #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> using namespace std; void sort_1(const...

Зачем нужен указатель на указатель при работе с однонаправленным списком?
День добрый. Столкнулся с непониманием этой темы. В частности, совершенно непонятен алгоритм инициализации такого вот списка. Например:...

Указатель на функцию, которая принимает в качестве параметра указатель на массив
я не понимаю. вроде делаю правильно, но выходит ошибка. есть функция. int foo(int *mas){}; cоздаю на нее указатель. int...

Реализация двоичных деревьев поиска: Зачем в параметрах функции используется указатель на указатель
Всем привет, встретил в книге такой пример добавления узла в дерево: typedef struct tree { int data; tree *left, *right,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru