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

Указатель и ссылка - C++

Восстановить пароль Регистрация
 
sdfdsfdsfdf
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 8
26.02.2013, 15:15     Указатель и ссылка #1
Почему выгодней использовать указатель а не ссылку при использовании массивов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 15:15     Указатель и ссылка
Посмотрите здесь:

C++ Ссылка на указатель
C++ ссылка на указатель
C++ Указатель и ссылка
C++ Ссылка на указатель в аргументе функции
C++ Указатель и ссылка
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
26.02.2013, 15:18     Указатель и ссылка #2
потому что массив - это указатель
NIch
 Аватар для NIch
399 / 310 / 27
Регистрация: 17.03.2010
Сообщений: 1,120
26.02.2013, 15:34     Указатель и ссылка #3
Цитата Сообщение от yoghurt92 Посмотреть сообщение
потому что массив - это указатель
Не совсем так, указатель на массив, это фактически указатель на первый элемент массива.
Все таки, указатель это простой тип int, а массив, к примеру int[10], содержит цепочку из 10 элементов int.
Цитата Сообщение от sdfdsfdsfdf Посмотреть сообщение
Почему выгодней использовать указатель а не ссылку при использовании массивов?
С точки зрения реализации, ссылка — это, по сути, указатель, который жестко привязан к области памяти.
По сути ссылка это альтернативное имя переменной.
А вообще очень просто и хорошо написано тут
http://ru.wikipedia.org/wiki/%D0%A1%...D0%B0_(C%2B%2B)

Добавлено через 6 минут
Поскольку имя массива является указателем допустимо, например, такое присваивание:
C++
1
2
3
  int array[25];
  int *ptr;
  ptr=array;
Для доступа к начальному элементу массива (т.е. к элементу с нулевым индексом) можно использовать просто значение указателя array или ptr. Любое из присваиваний
C++
1
2
3
4
5
6
  *array = 2;
   array[0] = 2;
   *(array+0) = 2;
   *ptr = 2;
   ptr[0] = 2;
   *(ptr+0) = 2;
присваивает начальному элементу массива значение 2, но быстрее всего выполнятся присваивания *array=2 и *ptr=2, так как в них не требуется выполнять операции сложения.
http://www.xserver.ru/computer/langp..._c2p/1/7.shtml
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
26.02.2013, 21:58     Указатель и ссылка #4
NIch, говоря что массив - это указатель, я подразумевал(указатель на первый элемент)
Yandex
Объявления
26.02.2013, 21:58     Указатель и ссылка
Ответ Создать тему
Опции темы

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