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

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

Восстановить пароль Регистрация
 
Maxak
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
13.12.2013, 10:38     Передача данных в функцию #1
как лучше передавать примитивные типы данных в функцию по ссылке или по значению?
В учебниках обычно пишут, что по ссылке. На практике же многие говорят, что даже для double это лишено смысла и можно передавать по значению.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2013, 10:38     Передача данных в функцию
Посмотрите здесь:

передача в функцию C++
Передача массива в функцию. C++
Передача двухмерного массива из функцию в функцию C++
C++ Передача в функцию
Передача в функцию C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
13.12.2013, 10:49     Передача данных в функцию #2
На практике же многие говорят
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
13.12.2013, 10:52     Передача данных в функцию #3
ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке....
На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо
Maxak
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
13.12.2013, 11:03  [ТС]     Передача данных в функцию #4
Цитата Сообщение от dzrkot Посмотреть сообщение
ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке....
На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу.
Ну я под вские AVR микроконтроллеры я не прогаю=)
Цитата Сообщение от egor2116 Посмотреть сообщение
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
Ну это ясно.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
13.12.2013, 11:06     Передача данных в функцию #5
Maxak, Была тут недавно тема где это обсуждалось. Рекомендую поискать.
А вот и она: const float &
dzrkot
zzzZZZ...
 Аватар для dzrkot
516 / 346 / 53
Регистрация: 11.09.2013
Сообщений: 1,977
13.12.2013, 11:08     Передача данных в функцию #6
Цитата Сообщение от Maxak Посмотреть сообщение
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу.
Ну я под всякие AVR микроконтроллеры я не прогаю=)
ну в памяти тоже даже не знаю почему я об этомнисказаЛ, а то, чтобы скопировать 10000 значений нужно соответственно выполнить 10000 команд присвоения, если контер работает от внутреннего генератора (там кГц), то это может сказаться на времени к примеру.
Yandex
Объявления
13.12.2013, 11:08     Передача данных в функцию
Ответ Создать тему
Опции темы

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