Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Sherkan
0 / 0 / 0
Регистрация: 23.12.2014
Сообщений: 8
1

Почему функция не будет работать без амперсанда?

11.12.2015, 08:40. Просмотров 292. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
void swap(int & ar1, int & ar2) //функция обмена
{
    int temp = ar1;
    ar1 = ar2;
    ar2 = temp;
 }
почему функция НЕ будет работать без амперсанда, интересует развёрнутый ответ.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.12.2015, 08:40
Ответы с готовыми решениями:

Почему программа не будет работать без pushf?
Пример из калашникова Перехват 21-го прерывания Зачем в процедуре Int_21h_proc pushf Почему...

Почему в scanf("%s",ss) имя ss пишется без амперсанда?
почему в scanf("%s",ss) имя ss пишется без амперсанта?

Будет ли работать функция
Здравствуйте. Нужен совет опытного человека. Сделал проверку входа на сайт пользователя. ...

Будет ли работать без ошибок?
Всем привет, есть такой вопрос, будет ли такая сборка работать без ошибок и все ли комплектующие...

2
zss
Модератор
Эксперт С++
9267 / 8003 / 4912
Регистрация: 18.12.2011
Сообщений: 21,341
Завершенные тесты: 1
11.12.2015, 08:53 2
Цитата Сообщение от Sherkan Посмотреть сообщение
C++
1
2
void swap(int & ar1, int & ar2) //функция обмена 
{ int temp = ar1; ar1 = ar2; ar2 = temp; }
Параметры в данном случае передаются ПО ССЫЛКЕ.
Т.е. на время выполнения функции переменные ar1 и ar2 становятся синонимами фактических параметров вызова.

C++
1
2
void swap(int ar1, int ar2) 
{ int temp = ar1; ar1 = ar2; ar2 = temp; }
В этом случае параметры передаются по значению, т.е. в функцию передаются копии фактических параметров.
В результате, например ar1=ar2; меняет значение копии, а не оригинала.
1
nmcf
6574 / 5786 / 2634
Регистрация: 14.04.2014
Сообщений: 24,600
11.12.2015, 08:54 3
Потому что будет передача по значение, т. е. копий.
0
11.12.2015, 08:54
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2015, 08:54

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

Рекурсия: почему программа не будет работать?
Нужна помощь, .............. Почему программа: program FactorEx; var Num:integer; function...

Будет ли работать антивирус без регистрации
Будет ли работать антивирус без регистрации,закончился срок.Вот собственно и вопрос.В частности...

Почему крон не будет работать с таким скриптом?
Есть вот такой скрипт: if (isset($_GET)) { $select_max_value = "SELECT MAX(post_id) FROM...

Заменить while на for и почему for будет работать не во всех случаях?
const nn = 10; var a: array of integer; i, j, n, k: integer; begin write('n='); read(k);...


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

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

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