Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Указатель или ссылка, что быстрее? 
V
    Опции темы
Elfebet
Дата 13.6.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



Издавна мучает один вопрос, что быстрее указатель или ссылка?
я понимаю что указатель и ссылка - почти одинаково работают, но всетаки smile


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
Fazil6
Дата 13.6.2008, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 35
Всего: 60



Цитата(Elfebet @  13.6.2008,  09:53 Найти цитируемый пост)
Издавна мучает один вопрос, что быстрее указатель или ссылка?

Что значит быстрее? Это бегуны на соревнованиях быстрее или медленее
PM MAIL   Вверх
Daevaorn
Дата 13.6.2008, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 51
Всего: 70



Цитата(Elfebet @  13.6.2008,  10:53 Найти цитируемый пост)
я понимаю что указатель и ссылка - почти одинаково работают, но всетаки 

отсюда можно сделать вывод и о производительности?
PM MAIL WWW   Вверх
Alexeis
Дата 13.6.2008, 10:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 12
Всего: 459



Цитата(Elfebet @  13.6.2008,  08:53 Найти цитируемый пост)
Издавна мучает один вопрос, что быстрее указатель или ссылка?

  Думаю что лучше этот вопрос доверить оптимизатору компилятора. Уж с такой мелочью он точно справиться. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
georain
Дата 13.6.2008, 10:01 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



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

Это сообщение отредактировал(а) georain - 13.6.2008, 10:07
PM MAIL   Вверх
Elfebet
Дата 13.6.2008, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



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


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
georain
Дата 13.6.2008, 10:14 (ссылка)    | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Указатель будет быстрее Адназначна! А перегонять данные из класса в класс не надо, надо передавать указатель (или ссылку) на эти данные.
PM MAIL   Вверх
Elfebet
Дата 13.6.2008, 10:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



Код

Указатель будет быстрее Адназначна!


georain, спасибо. убедил!  smile 


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
vinter
Дата 13.6.2008, 11:07 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(georain @  13.6.2008,  11:01 Найти цитируемый пост)
Для встроенных типов передача по ссылке означает передачу самого значения

это с чего это?
Цитата(georain @  13.6.2008,  11:14 Найти цитируемый пост)
Указатель будет быстрее Адназначна!

это с чего это?


--------------------
Мой блог
PM MAIL WWW   Вверх
georain
Дата 13.6.2008, 11:10 (ссылка)    | (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата(vinter @  13.6.2008,  11:07 Найти цитируемый пост)
это с чего это?

А ведь и в правду наврал! Это при ссылке на константу значение передаётся
Цитата(vinter @  13.6.2008,  11:07 Найти цитируемый пост)
это с чего это? 

А это только когда из класса в класс данные перегоняешь и вычисления делаешь.
PM MAIL   Вверх
Elfebet
Дата 13.6.2008, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



Цитата(georain @  13.6.2008,  11:10 Найти цитируемый пост)
Цитата(vinter @  13.6.2008,  11:07 )это с чего это? А это только когда из класса в класс данные перегоняешь и вычисления делаешь.

так и константная ссылка тоже подойдет.
так все таки ссылка быстрее? smile 

хм.. получается тема не решится, так как все зависит от ситуации, где лучше использовать ссылку, а где указатель. smile 

Это сообщение отредактировал(а) Elfebet - 13.6.2008, 11:47


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
sergejzr
Дата 13.6.2008, 11:51 (ссылка) |   (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



Указатель и ссылка технически - одно и тоже. Разница только в правилах декларации для компилятора.
Так что бери то, что удобнее.




--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
georain
Дата 13.6.2008, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 193
Регистрация: 28.11.2006
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Elfebet, ты прикалываешься или нет? Чёто совсем меня запутал. smile
Физически ссылка и указатель это одно и тоже. Ссылка ссылается, а указатель указывает, так что всё равно что использовать, используй что удобнее.
Константная ссылка пригодится при передаче объекта в функцию, которая не должна изменять это объект. Больше константная ссылка от обычной ничем не отличается, за исключением одного момента - может произойти неявное преобразование типа с вызовом лишнего конструктора и деструктора.

Это сообщение отредактировал(а) georain - 13.6.2008, 12:19
PM MAIL   Вверх
Elfebet
Дата 13.6.2008, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 545
Регистрация: 15.5.2006
Где: Украина. Запорожь е.

Репутация: нет
Всего: 14



всем, спасибо. я для себя вывод сделал. smile 


--------------------
Программист не должен всё знать... он должен знать где можно посмотреть
PM MAIL ICQ GTalk   Вверх
UnrealMan
Дата 15.6.2008, 16:21 (ссылка)   | (голосов:6) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 722
Регистрация: 30.3.2006

Репутация: 27
Всего: 32



Цитата(sergejzr @  13.6.2008,  11:51 Найти цитируемый пост)
Указатель и ссылка технически - одно и тоже. Разница только в правилах декларации для компилятора.

Это неправда.

Цитата(georain @  13.6.2008,  11:59 Найти цитируемый пост)
Больше константная ссылка от обычной ничем не отличается, за исключением одного момента - может произойти неявное преобразование типа с вызовом лишнего конструктора и деструктора.

Это тоже неправда: есть и другие отличия.

Всюду, где можно использовать ссылку, следует использовать ссылку, в противном случае следует использовать указатель. В случае со ссылкой производительность может быть выше (ссылки не являются объектами, в отличие от указателей, и вероятность их замещения исходными объектами выше), но это не главное.

Цитата(Elfebet @  13.6.2008,  12:23 Найти цитируемый пост)
всем, спасибо.

lolz. Трудно найти форум, где тебя дезинформировали бы больше, чем тут smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1939 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.