|
Модераторы: Daevaorn |
|
Elfebet |
|
|||
Опытный Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: нет Всего: 14 |
Издавна мучает один вопрос, что быстрее указатель или ссылка?
я понимаю что указатель и ссылка - почти одинаково работают, но всетаки -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
Fazil6 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 35 Всего: 60 |
||||
|
||||
Daevaorn |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: 51 Всего: 70 |
||||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Думаю что лучше этот вопрос доверить оптимизатору компилятора. Уж с такой мелочью он точно справиться. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
georain |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Если указатель или ссылка на класс - то это одно и тоже, работают абсолютно одинаково. Но например в функцию может быть передана ссылка на указатель на класс, тогда обращение через ссылку на указатель будет медленнее чем через чистый указатель.
Для встроенных типов передача по ссылке означает передачу самого значения, поэтому работа с передачей по ссылке будет происходить быстрее чем с передачей указателя или тем более ссылки на указатель на значение. Это сообщение отредактировал(а) georain - 13.6.2008, 10:07 |
|||
|
||||
Elfebet |
|
|||
Опытный Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: нет Всего: 14 |
мне нужно перегонять из одного класса в другой большое количество данных и делать расчеты, вот я и спрашиваю какой доступ будет быстрее указатель или ссылка.
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
georain |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Указатель будет быстрее Адназначна! А перегонять данные из класса в класс не надо, надо передавать указатель (или ссылку) на эти данные.
|
|||
|
||||
Elfebet |
|
|||
Опытный Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: нет Всего: 14 |
georain, спасибо. убедил! -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
vinter |
|
|||
Explorer Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
||||
|
||||
georain |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
||||
|
||||
Elfebet |
|
|||
Опытный Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: нет Всего: 14 |
так и константная ссылка тоже подойдет. так все таки ссылка быстрее? хм.. получается тема не решится, так как все зависит от ситуации, где лучше использовать ссылку, а где указатель. Это сообщение отредактировал(а) Elfebet - 13.6.2008, 11:47 -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
sergejzr |
|
|||
Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Указатель и ссылка технически - одно и тоже. Разница только в правилах декларации для компилятора.
Так что бери то, что удобнее. |
|||
|
||||
georain |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Elfebet, ты прикалываешься или нет? Чёто совсем меня запутал.
Физически ссылка и указатель это одно и тоже. Ссылка ссылается, а указатель указывает, так что всё равно что использовать, используй что удобнее. Константная ссылка пригодится при передаче объекта в функцию, которая не должна изменять это объект. Больше константная ссылка от обычной ничем не отличается, за исключением одного момента - может произойти неявное преобразование типа с вызовом лишнего конструктора и деструктора. Это сообщение отредактировал(а) georain - 13.6.2008, 12:19 |
|||
|
||||
Elfebet |
|
|||
Опытный Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: нет Всего: 14 |
всем, спасибо. я для себя вывод сделал.
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
UnrealMan |
|
|||
Опытный Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Это неправда. Это тоже неправда: есть и другие отличия. Всюду, где можно использовать ссылку, следует использовать ссылку, в противном случае следует использовать указатель. В случае со ссылкой производительность может быть выше (ссылки не являются объектами, в отличие от указателей, и вероятность их замещения исходными объектами выше), но это не главное. lolz. Трудно найти форум, где тебя дезинформировали бы больше, чем тут |
|||
|
||||
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |