2014-10-23 2 views
0

Это вопрос стиля или правильности для C++.Передача значений или ссылок через функции

Скажите, что у вас есть функция A и функция B, правильно или хорошо, чтобы передать значение функции, которое ему не нужно, но нужно знать об этом для вызова функции B, которую он (функцияA) вызывает позже?

Я не могу ссылаться непосредственно на значения, поскольку они объявлены внутри основного.

+0

Я думаю, это зависит от вашего программного обеспечения. –

+0

Вы можете рассмотреть объектно-ориентированный дизайн и сохранить значение в качестве переменной-члена в классе, а затем использовать функции 'functionA' и' functionB' как функции-члены вашего класса. Тогда вам не нужно передавать значение через функции. –

ответ

2

Если functionB нуждается в стоимости тогда, эффективно, functionA необходимо. Поэтому он должен быть передан как параметр в functionA.

Если вы беспокоитесь о создании копий значений, вы всегда можете передать его ссылкой или постоянной ссылкой.

0

Подумайте о том интерфейсе, который инкапсулирует, что вызывает functionB

0

Общей конвенции для больших переменных в C++ является использование указателей. Чтобы сохранить ресурсы, вы можете инициализировать указатель на переменную в куче, используя new следующим образом: int *num = new int; Таким образом, вы не проходите вокруг большого массива - например - и вместо этого передаете гексаговый адрес этого массива в памяти.

Смежные вопросы