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

Передача данных по значению и по ссылке - 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». подробнее

Показать сообщение отдельно
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
18.09.2012, 22:24
Ссылка - это по сути второе имя того же самого объекта. Когда в функцию передаётся объект по ссылке, то передаётся фактически этот объект. Когда же мы передаём объект по значению, то в функцию передаётся его копия.
Допустим, есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void func_1(int a) // передача по значению
{
   a = a + 100500;
}
 
void func_2(int & a) // передача по ссылке
{
    a = a + 100500;
}
 
int main()
{
   int x = 12345;
   func_1(x);
   cout << x;
   func_2(x);
   cout << x;
}
В первом случае выведется значние x, равное начальному - 12345, так как в первую функцию передавалась не сама переменнаяx, а её значени. Во втором случае выведется значение 112845 (100500 + 12345), так как в функцию передавался сам объект (переменная) х и её значение в функции изменилось.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru