Передача данных в функцию

Maxak

как лучше передавать примитивные типы данных в функцию по ссылке или по значению? В учебниках обычно пишут, что по ссылке. На практике же многие говорят, что даже для ****** это лишено смысла и можно передавать по значению.
5 ответов

Maxak

На практике же многие говорят
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.


Maxak

ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке.... На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо


Maxak

ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке.... На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу. Ну я под вские AVR микроконтроллеры я не прогаю=)
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
Ну это ясно.


Maxak

Maxak, Была тут недавно тема где это обсуждалось. Рекомендую поискать. А вот и она: const float &


Maxak

Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу. Ну я под всякие AVR микроконтроллеры я не прогаю=)
ну в памяти тоже даже не знаю почему я об этомнисказаЛ, а то, чтобы скопировать 10000 значений нужно соответственно выполнить 10000 команд присвоения, если контер работает от внутреннего генератора (там кГц), то это может сказаться на времени к примеру.