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

Передача данных по значению и по ссылке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить функцию, которая формирует новое число с обратным порядком цифр по отношению к исходному числу http://www.cyberforum.ru/cpp-beginners/thread654147.html
1. Составить функцию с оператором return. 2. Преобразовать функцию к void-функции, составленную в рамках языка С. 3. Преобразовать функцию к void-функции, использующую возможно¬сти языка C++. ...
C++ Удалить первый из отрицательных элементов и минимальный из положительных элементов массива 1. Дана последовательность из N элементов. Уменьшить ее, удалив первый из отрицательных элементов и минимальный из положитель¬ных элементов и сдвинув все остальные к началу. http://www.cyberforum.ru/cpp-beginners/thread654145.html
C++ Как описать факториал меняющийся через 10 или иное число
Не могу понять как использовать факториал, меняющийся не через 1, а любое другое число (10, 2). Стоит задача: на основе Веса, роста и возвраста посчитать: - Hat size = Веса / рост*2.9 (здесь...
C++ Найти сумму квадратов четных элементов матрицы
как создать двумерный массив где количество строк и столбцов вводится с клавиатуры и найти сумму квадратов четных элементов... прога на C# есть а в C++ незнаю как сделать(((( int n, m; ...
C++ Копировать значение поля m_moo в значение поля m_moo класса foo http://www.cyberforum.ru/cpp-beginners/thread654113.html
А что означает запись? Foo1(Foo1 const& foo):m_moo(foo.moo) то что это к.копирования понятно.Не понятно,зачем список инициализации.... это значит что то типа:копирует значение поля m_moo в...
C++ Проверить истинность высказывания: Справедливо двойное неравенство A < B < C 2)Даны три целых числа: A, B, C. Проверить истинность высказывания: «Справедливо двойное неравенство A < B < C». подробнее

Показать сообщение отдельно
Pro100Tom
69 / 28 / 7
Регистрация: 29.10.2012
Сообщений: 331
04.06.2014, 12:17
А какой способ более оптимальный в плане использования памяти и скорости?
C++
1
2
void someFunction(int* number){*number*=2;}
int main(){int myNumber=5; someFunction(&myNumber)}
или такой:
C++
1
2
void someFunction(int &number){number*=2;}
int main() {int myNumber=5; someFunction(myNumber)}
Мне больше нравится второй вариант, так как один раз знак & написал и больше заморачиваться не надо, но с другой стороны тот факт, что юзер может не знать, что функция изменяет значение (ведь, как я понял, не видно, что передается по значение) может вызвать некое недопонимание что-ли. Поправьте, если не прав.
P.S Хотя я не понимаю, как работает второй вариант. В первом всё понятно, передётся указатель, и изменяется значение по адресу, который хранится в указателе. Ну а как понять второй вариант? Там просто передаётся переменаая, а в функции уже мелькает её адрес... Не понимаю, как это работает. Получается, можно вобще без указателей обходиться, таким образом.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru