Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Передача данных в функцию - C++
Подскажите пожалуйста, передаю в функцию набор значений, и пытаюсь производить с ними действия: void poly(const int N, const double...

Передача данных в функцию - C++
Добрый день, форумчане! Интересует следующий странно глупый вопрос... Не могу понять! Вот никак. Есть фукция: int solve(int...

Не происходит передача данных в функцию - C++
Не пойму что не так Надо что бы из функции interval брались 2 переменные, что я не так написал? Забираю переменные ниже строки cout <<...

Передача указателя на шаблонную функцию в другую функцию - C++
Пишу тест для нескольких улучшений квиксорта с измерением времени. Функция benchmark принимает итераторы для диапазона элементов, указатель...

Передача массива в функцию используя указатель на функцию - C++
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки...

Передача объекта в функцию или функцию друга - C++
Здравствуйте, уважаемые программисты :) К примеру есть такой код. #include <iostream> using namespace std; class My_Class1 { ...

5
egor2116
342 / 373 / 42
Регистрация: 20.01.2013
Сообщений: 1,133
13.12.2013, 10:49 #2
На практике же многие говорят
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
0
dzrkot
zzzZZZ...
523 / 353 / 54
Регистрация: 11.09.2013
Сообщений: 2,037
13.12.2013, 10:52 #3
ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке....
На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо
0
Maxak
0 / 0 / 0
Регистрация: 27.12.2012
Сообщений: 47
13.12.2013, 11:03  [ТС] #4
Цитата Сообщение от dzrkot Посмотреть сообщение
ну зависит от обстоятельств... По ссылке быстрее, нету копирования в стек и т.п. . Если функция вызывается для 10000 значений то лучше по ссылке....
На практике это мб для железа актуально, для всяких там примитивных AVR микроконтроллеров типа атмемеги8 и т.п. дешевых, которые по 100 рублей но при этом должны что-то "тащить"...честно говоря вопросом таким не задавался особо
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу.
Ну я под вские AVR микроконтроллеры я не прогаю=)
Цитата Сообщение от egor2116 Посмотреть сообщение
Правильно говорят, если только вы не хотите вернуть из функции больше одного значения.
Ну это ясно.
0
ForEveR
В астрале
Эксперт С++
7985 / 4744 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
13.12.2013, 11:06 #5
Maxak, Была тут недавно тема где это обсуждалось. Рекомендую поискать.
А вот и она: const float &
1
dzrkot
zzzZZZ...
523 / 353 / 54
Регистрация: 11.09.2013
Сообщений: 2,037
13.12.2013, 11:08 #6
Цитата Сообщение от Maxak Посмотреть сообщение
Я думал, что по ссылке выйгрыш только в памяти, ну а в случае со встроенными типами - это вроде как копейки. А на счет быстродействия первый раз слышу.
Ну я под всякие AVR микроконтроллеры я не прогаю=)
ну в памяти тоже даже не знаю почему я об этомнисказаЛ, а то, чтобы скопировать 10000 значений нужно соответственно выполнить 10000 команд присвоения, если контер работает от внутреннего генератора (там кГц), то это может сказаться на времени к примеру.
0
13.12.2013, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2013, 11:08
Привет! Вот еще темы с ответами:

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой "генерируется" массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Передача в функцию - C++
вот есть такие строки кода: typedef vector< vector<char> > string_sound; void sound_func(string_sound &text_sound, int sum_words)...

Передача в функцию - C++
компилятор ругается на int sumcolumn (int **a, int n) sumcolumn(a,m) почему не могу передать массив i*1, таким образом? ...

Передача массива в функцию - C++
Помогите передать массив в функцию #include <iostream> using namespace std; void massiv() { int mas; // размер...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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