Форум программистов, компьютерный форум CyberForum.ru

В чем разница между указателем и указателем на указатель? - C++

Восстановить пароль Регистрация
 
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
10.04.2014, 23:12     В чем разница между указателем и указателем на указатель? #1
C++
1
2
3
4
5
int x, *p, *q;
x=10;
p=&x;
q=p;
cout<<*q;
C++
1
2
3
4
5
int x, *p, **q;
x=10;
p=&x;
q=&p;
cout<<**q;
В 1 коде q=p - это указателю q присваивается адрес, который хранит указатель p?
Второй код понятен, указателю адрес указателя. Что лучше использовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 23:12     В чем разница между указателем и указателем на указатель?
Посмотрите здесь:

C++ калькулятор с указателем
C++ Строковый литерал и указатель на строку. В чем разница?
C++ функция с указателем
Функция с указателем и индексом(Удаляет в строке лидирующие пробелы. Возвращает указатель на преобразованную строку.) C++
C++ Переделать функцию c указателем на int, на функцию с указателем на void
Указатель или ссылка на указатель. В чем разница? C++
Что общего между именем массива и указателем? C++
C++ Объясните разницу между указателем и ссылкой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 23:17     В чем разница между указателем и указателем на указатель? #2
Да, в первом q присваивается адрес, который сейчас в p (&x)

Ну во втором коде ты сможешь через q еще и p менять
Если это нужно, то конечно второй код лучше
А так, на мой взгляд, первый менее вычурный
Fulcrum_013
 Аватар для Fulcrum_013
393 / 566 / 60
Регистрация: 14.12.2014
Сообщений: 4,769
Завершенные тесты: 2
20.04.2015, 22:14     В чем разница между указателем и указателем на указатель? #3
Цитата Сообщение от Gygocopter Посмотреть сообщение
Что лучше использовать?
То что надо в данном конкретном случае. К примеру просто указатель может на массив указывать а не просто на элемент. А двойной соответственно на массив указателей, т.е на двумерный массив, причем с неравными длинами массивов-элементов. Если надо передать указатель на какое либо значение то передаешь просто указатель. например одномерный массив в функцию. А если нужно что то с самим указателем сделать (например передать указатель на одномерный массив в фунцию которая под него примеру память выделит и инициализирует начальными значениями) то нужно передавать двойной, чтобы само значение указателя в результате работы фунуции изменилось.

Добавлено через 6 минут
Цитата Сообщение от Gygocopter Посмотреть сообщение
C++
1
2
3
4
5
int x, *p, *q;
x=10;
p=&x;
q=p;
cout<<*q;
На самом деле это немножко для другого предназначено например:
C++
1
2
3
4
 int x=10, *q;
        q=&x;
       *q*=2;
        cout<<x;
что отпечатает?
Yandex
Объявления
20.04.2015, 22:14     В чем разница между указателем и указателем на указатель?
Ответ Создать тему
Опции темы

Текущее время: 07:15. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru