|
0 / 0 / 0
Регистрация: 07.10.2019
Сообщений: 78
|
||||||
Передача параметров в функцию по ссылке12.03.2020, 14:12. Показов 3313. Ответов 7
Интересует функция в 70 строчке и её вызов в 113. Почему нужно параметры передавать по ссылке?(если передам по значению то выведет мусор)
0
|
||||||
| 12.03.2020, 14:12 | |
|
Ответы с готовыми решениями:
7
Передача параметров в функцию по значению, по ссылке и по указателю Передача параметров в функцию по значению, по ссылке или по указателю Передача параметров по ссылке |
|
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,246
|
||
| 12.03.2020, 14:21 | ||
|
Добавлено через 5 минут Если int передавать, то без разницы - по значению 4(8) байт скопируются в функции - не так много. Если для объектов передавать, то он может быть большой и тут надо либо по указателю, либо по ссылке передавать.
1
|
||
|
2670 / 1333 / 479
Регистрация: 08.11.2016
Сообщений: 3,686
|
||||||
| 12.03.2020, 14:41 | ||||||
Сообщение было отмечено Eg0ra1 как решение
Решение
Когда Вы передаете в функцию параметры по значению, функция инициализирует локальные переменные объявленные в её прототипе переданными значениями и обрабатывает их как свои локальные переменные, то есть значения в переменных которые вы передавали в функцию не затрагиваются - обрабатываются их локальные копии, которые по завершению функции выходят за пределы видимости и, по возможности, уничтожаются.
Если же функции переданы ссылки, то локальные переменные функции (те что объявлены в её прототипе) инициализируются адресами памяти тех переменных что Вы передаете функции и она (функция) работает с теми областями памяти в которых лежат переменные. Например:
1
|
||||||
|
0 / 0 / 0
Регистрация: 07.10.2019
Сообщений: 78
|
|
| 12.03.2020, 14:47 [ТС] | |
|
Спасибо, теперь понимаю разницу!
Если хочу изменить оригиналы передаваемых параметров, которые передаю в функцию, тогда нужно передавать по ссылке, а если просто использовать их и не изменять оригиналы, тогда передавать по значению. А если в моём примере, я передаю все параметры типа int по значению, но переменные типа Polinom по ссылке, тогда обьекты классов нужно всегда передавать по ссылке?
0
|
|
|
1063 / 984 / 153
Регистрация: 10.08.2015
Сообщений: 5,347
|
|
| 12.03.2020, 15:00 | |
|
У тебя весь класс полинома написан неправильно и непонятно.
Полином это массив коэффициентов и их число. Все. и инициализировать его нужно также. а что у тебя - непонятно.
0
|
|
|
337 / 237 / 103
Регистрация: 26.03.2019
Сообщений: 407
|
||||||||
| 12.03.2020, 15:09 | ||||||||
Есть такое "правило трех": если есть хотя бы один из методов (деструктор, конструктор копирования, оператор присваивания), то должны быть определены все три.
0
|
||||||||
|
0 / 0 / 0
Регистрация: 07.10.2019
Сообщений: 78
|
|
| 12.03.2020, 15:21 [ТС] | |
|
Вот задание. Дано два полинома, найти их производные в точке Х, их суммы, разницы и произведение в точке Х за схемой Горнера, вывести коэффициэнты и написать для этого соответствующий класс
0
|
|
|
2670 / 1333 / 479
Регистрация: 08.11.2016
Сообщений: 3,686
|
||
| 12.03.2020, 15:44 | ||
|
0
|
||
| 12.03.2020, 15:44 | |
|
Помогаю со студенческими работами здесь
8
Передача параметров по ссылке Передача параметров функции по значению, ссылке и указателю Передача параметров в функцию по ссылке Передача массивов в качестве параметров в функцию по ссылке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|