|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
||||||
Указатель/ссылка в параметре функции12.02.2016, 15:32. Показов 1139. Ответов 14
Метки нет (Все метки)
Здравствуйте.
Опять появился вопрос. Почему автор книги, которую я читаю, постоянно использует в параметрах функции ссылку/указатель и делает параметр константным? Чтобы стало понятнее, вот пример кода:
0
|
||||||
| 12.02.2016, 15:32 | |
|
Ответы с готовыми решениями:
14
Как использовать указатель на переменную во входящем параметре функции? Ссылка на указатель в аргументе функции Указатель или ссылка на указатель. В чем разница? |
|
Любитель чаепитий
|
|
| 12.02.2016, 15:43 | |
|
Sabnik18, Очевидно, чтобы не кушать память, т.к. передача константной ссылки/указателя практически не занимает памяти, ежели передача самого значения, ведь оно копируется, а если это строка в 10000 символов или вектор в 10000 значений типа double? Тогда копирование будет происходить очень долго!
0
|
|
|
о_____О
225 / 224 / 37
Регистрация: 19.11.2010
Сообщений: 1,061
|
|
| 12.02.2016, 15:46 | |
|
Sabnik18, насколько я понимаю, передается указатель на константный символ. Т.е. чтобы нельзя было изменить содержимое на которое показывает указатель.
0
|
|
|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
|
| 12.02.2016, 15:49 [ТС] | |
|
makfak, ваша подпись подтверждается. (
)OrkVasya, по поводу вашего последнего предложения. В смысл чтобы нельзя было изменить? Где? В функции или в теле программы?
0
|
|
|
Любитель чаепитий
|
|
| 12.02.2016, 15:54 | |
|
Sabnik18, Вам про константу рассказать что ли? Так если не передать как константу, тогда можно будет изменить значение, а так как это указатель или ссылка, то изменится и выражение, которое было передано в функцию.
0
|
|
|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
|
| 12.02.2016, 15:58 [ТС] | |
|
makfak, а для того, чтобы работать с константой, я должен в теле программы аргумент тоже обозначить как константа с указателем?
0
|
|
|
Любитель чаепитий
|
||||||
| 12.02.2016, 16:01 | ||||||
|
Sabnik18, Нет, вот пример:
0
|
||||||
|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
|||||||||||
| 12.02.2016, 16:20 [ТС] | |||||||||||
|
makfak, и что изменится, если вместо
Если можете, приведите пример по поводу вашего сообщения "Так если не передать как константу, тогда можно будет изменить значение, а так как это указатель или ссылка, то изменится и выражение, которое было передано в функцию."
0
|
|||||||||||
|
Любитель чаепитий
|
||||||||||||||||
| 12.02.2016, 16:36 | ||||||||||||||||
|
Sabnik18, В моём примере ничего, но объявляя ссылку константной ты гарантируешь то, что ты не изменишь значение переданного выражения, а даже если попробуешь, будет ошибка компиляции, если тебе надо изменять выражение только в теле функции, то передавай по значению, но не по ссылке, иначе при изменении переданного выражения, ты изменишь и само передаваемое выражение.
Пример:
0
|
||||||||||||||||
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
|
| 12.02.2016, 17:01 | |
|
Sabnik18, читайте лучше книжки: Скотт Мейерс. Эффективное использование С++ (55 советов), правило 20.
Все вопросы отпадут.
2
|
|
|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
|
| 12.02.2016, 17:41 [ТС] | |
|
DrOffset, это книга для вообще чайников? Или её стоит читать хотя бы второй?
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 12.02.2016, 17:53 | ||
|
2
|
||
|
BrainOverflow
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
|
|
| 12.02.2016, 17:55 [ТС] | |
|
DrOffset, спасибо за совет.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 12.02.2016, 18:53 | |||
|
но не изменяет их. а это значит, что отдавая их в функцию, мы можем не бояться, что с ними что нибудь случится.
0
|
|||
| 12.02.2016, 18:53 | |
|
Помогаю со студенческими работами здесь
15
Вызов функции в параметре другой функции Ошибка в параметре функции
Ошибка в передаваемом параметре функции Ссылка на указатель на указатель Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача №1: при указании работ (справочник РаботыПоРемонтуСпецтехники),. . .
|