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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
2e1773ce
6 / 6 / 0
Регистрация: 10.03.2013
Сообщений: 96
#1

const& и const* в имени функции - C++

03.06.2013, 17:43. Просмотров 1085. Ответов 5
Метки нет (Все метки)

Объясните пожалуйста что значит const& и const* в имени и параметрах функции(пример из Вандевурд,Джосаттис):
C++
1
2
3
template <typename T>
inline T const& max(T const& a , T const& b){}
inline T const* max(T const* a , T const* b){}
в параметрах константная ссылка и константый указатель , а в имени? :O
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2013, 17:43     const& и const* в имени функции
Посмотрите здесь:

C++ Cannot convert 'wchar_t &' to 'const char *'
Cannot convert 'const wchar_t *' to 'const char *' C++
C++ Что это bool operator== (const CLASS&) const;
int const и const int в чем разница этих записей C++
C++ error: invalid operands of types 'const int*' and 'const int*' to binary 'operator+'
const float & C++
C++ Const в параметрах. Перед чем нужно употребить const дабы обезопасить данные от изменения
(const string &) C++
C++ Как исправить ошибку if(auto const& (val: stime))
C++ Чем отличаются выражения (const int[]){value} от (const int[]){100}
C++ Модификатор const для параметра функции не const?
C++ Что при присваивается i в for(const auto& i : iVec1) ?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
tony_pershin
16 / 16 / 1
Регистрация: 05.03.2013
Сообщений: 36
03.06.2013, 17:49     const& и const* в имени функции #2
T const& a -- ссылка на неизменяемый объект типа T
T const* a -- указатель на неизменяемый объект типа T
То есть вы не сможете вызвать неконстантные методы объекта a.
Тут в комментах это неплохо обсудили: http://habrahabr.ru/post/137375/
2e1773ce
6 / 6 / 0
Регистрация: 10.03.2013
Сообщений: 96
03.06.2013, 18:05  [ТС]     const& и const* в имени функции #3
а перед именем функции зачем ставить const& / const* ?

Добавлено через 4 минуты
Забавно что на хабре 41 % ответил неправильно)
tony_pershin
16 / 16 / 1
Регистрация: 05.03.2013
Сообщений: 36
03.06.2013, 18:21     const& и const* в имени функции #4
С той же целью -- чтобы вернуть указатель/ссылку на неизменяемый объект.
Kastaneda
03.06.2013, 21:55
  #5

Не по теме:

Цитата Сообщение от 2e1773ce Посмотреть сообщение
Забавно что на хабре 41 % ответил неправильно)
73% ответили неправильно, 41 это просто самый популярный ответ. На хабре сейчас много школьников и бездарных студентов сидит, поэтому удивляться не чему

rangerx
1921 / 1530 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
03.06.2013, 22:37     const& и const* в имени функции #6
http://www.parashift.com/c++-faq-lit...rrectness.html
Yandex
Объявления
03.06.2013, 22:37     const& и const* в имени функции
Ответ Создать тему
Опции темы

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