63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
1 | |
Передача параметра по константной ссылке - что это?26.07.2014, 17:34. Показов 6321. Ответов 31
Метки нет (Все метки)
объясните мне пожалуйста что такое передача параметра в функцию по константной ссылке? я просто вообще не могу представить что значит & в параметре функции... 2 года как изучаю си, а такое увидел только недавно... & это же операция взятия адреса, я ее знаю только так... но как она может быть параметром убей не пойму...
0
|
26.07.2014, 17:34 | |
Ответы с готовыми решениями:
31
Передача по константной ссылке Передача std::string по константной ссылке \ значению Передача параметров по константной ссылке Передача параметра по ссылке |
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2014, 19:19 | 21 |
Сообщение было отмечено GetHelp как решение
Решение
Более безопасный код. Следствие из отсутствия null-семантики.
Более компактный код - отсутствие синтаксиса для разыменования. При передаче большого объекта по значению все его содержимое копируется - по-моему, интуитивно понятный факт.
1
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
26.07.2014, 19:22 [ТС] | 22 |
нет вот эти два товарища точно были уверены что со ссылкой будет работать быстрее... вот мне и стало интересно что же это такое... Стек на шаблонах - оцените реализацию и Стек на шаблонах - оцените реализацию
0
|
S_el
|
26.07.2014, 19:23
#23
|
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
26.07.2014, 19:23 | 24 |
0
|
327 / 230 / 55
Регистрация: 30.05.2014
Сообщений: 682
|
|
26.07.2014, 19:24 | 25 |
Ясен пень - при передаче по значению создается копия объекта передаваемого параметром, при передаче по ссылке - передается только его адрес.
0
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
||||||
27.07.2014, 08:23 [ТС] | 26 | |||||
ага... ну мне это не было понятно... все кажется больше вопросов нет спс всем...
Добавлено через 12 часов 10 минут так просто вдруг кому еще интересна эта тема будет нашел классную статью Добавлено через 48 минут а вот и возник еще один вопрос, вот код
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
27.07.2014, 08:26 | 27 |
Первый аргумент функции ссылается на переменную a, второй - на неинициализированную переменную b.
0
|
63 / 64 / 11
Регистрация: 27.02.2013
Сообщений: 1,116
|
|
27.07.2014, 08:27 [ТС] | 28 |
0
|
3257 / 2059 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|
27.07.2014, 08:30 | 29 |
b - переменная, у которой есть адрес в памяти. Следовательно, на нее можно ссылаться независимо от ее значения.
В случае с указателями допустимо было бы передать ноль - т.е. указатель не указывал бы никуда, разыменовывать его было бы небезопасно, и функция swap упала бы на разыменовании нулевого указателя.
1
|
0x10
|
27.07.2014, 17:24
#31
|
0
|
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
27.07.2014, 18:47 | 32 | |||||
От компилятора зависит.
0
|
27.07.2014, 18:47 | |
27.07.2014, 18:47 | |
Помогаю со студенческими работами здесь
32
Передача параметра по ссылке Передача параметра по ссылке Передача параметра по ссылке Передача параметра по ссылке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |