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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Maxak
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
#1

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

13.12.2013, 10:38. Просмотров 273. Ответов 5
Метки нет (Все метки)

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

передача в функцию C++
Передача массива в функцию C++
C++ Передача вектора в функцию
C++ Передача в функцию
Передача массива в функцию C++
Передача в функцию C++
Передача данных в функцию C++
C++ Передача данных в функцию
C++ Передача массива в функцию
Передача строки в функцию C++
C++ Не происходит передача данных в функцию

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
egor2116
338 / 369 / 42
Регистрация: 20.01.2013
Сообщений: 1,123
13.12.2013, 10:49     Передача данных в функцию #2
На практике же многие говорят
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
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
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
13.12.2013, 11:06     Передача данных в функцию #5
Maxak, Была тут недавно тема где это обсуждалось. Рекомендую поискать.
А вот и она: const float &
dzrkot
zzzZZZ...
518 / 348 / 53
Регистрация: 11.09.2013
Сообщений: 1,995
13.12.2013, 11:08     Передача данных в функцию #6
Цитата Сообщение от Maxak Посмотреть сообщение
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу.
Ну я под всякие AVR микроконтроллеры я не прогаю=)
ну в памяти тоже даже не знаю почему я об этомнисказаЛ, а то, чтобы скопировать 10000 значений нужно соответственно выполнить 10000 команд присвоения, если контер работает от внутреннего генератора (там кГц), то это может сказаться на времени к примеру.
Yandex
Объявления
13.12.2013, 11:08     Передача данных в функцию
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru