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

Передача в функцию - ссылки, указатели, константы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ c++ Перевод сртоки из CString в локальную char http://www.cyberforum.ru/cpp-beginners/thread903869.html
Здравствутйте. Прошу помощи новичку. Ищу функцию для копирования строки из массива в локальную. Инет всегда ведет приводит за бегор с английским не очень. Help ) Добавлено через 11 минут наверно...
C++ Работа с матрицами (Получить элементы квадратной матрицы, где элементы матрицы зависят от параметров) ЗАДАНИЕ: Получить элементы квадратной матрицы , где элементы матрицы , зависят от параметров и . Из матрицы А по заданному правилу получить компоненты вектора . Вычислить значения величины... http://www.cyberforum.ru/cpp-beginners/thread903856.html
Программа для диагностики системы C++
Доброго времени суток, Господа! Пожалуйста, помогите создать программу диагностирующая систему ПК или андроид. Есть знания в области с++ и питон. Хотя бы необходимые учебники или материал.
C++ Описать класс, реализующий тип данных «вещественная матрица» и работу с ними
Доброго времени суток, необходима помощь в написании программы. Описать класс, реализующий тип данных «вещественная матрица» и работу с ними. Класс должен реализовывать следующие операции над...
C++ Блок-схема для легких программ с функциями и массивом http://www.cyberforum.ru/cpp-beginners/thread903786.html
Ребята, помогите, пожалуйста с составлением блок-схемы на данную программу для работы с массивом. Бьюсь уже какое время, и никак не получается... // Написать программу ввода в массив 20 чисел и...
C++ Вывести все числа которые делятся на 3 (от 0 до 100) Вывести все числа которые делятся на 3 (от 0 до 100) циклом for. Если есть идеи по решению буду признателен:) подробнее

Показать сообщение отдельно
VLK
194 / 163 / 12
Регистрация: 05.05.2013
Сообщений: 1,225

Передача в функцию - ссылки, указатели, константы - C++

16.06.2013, 23:18. Просмотров 2954. Ответов 37
Метки (Все метки)

Вот программа:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
 
 void fun(int &rhs) 
{
rhs++;
}
 
int main()
{
int var = 2;
        
fun(var);
 
std::cout << var << "\n";
    
system("pause");
return 0;
}


В строке 10 я создаю переменную var и присваиваю ей значение 2, т.е. допустим по адресу 0001 у меня располагается значение 2
В строке 12 я передаю var в виде ссылке в функцию, где она получает новое имя (временное имя, псевдоним) - rhs, значение rhs располагается по тому же адресу что и var - 0001.
В строке 5 я прибавляю 1 к rhs и по адресу 0001 меняется значение с 2 на 3.

по этому в строке 14 мне выведет на экран 3, а не 2.

Вопрос, а что происходит, как работает следующая программа:

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
 
 int & fun(int rhs) 
{
rhs++;
 
return rhs;
}
 
int main()
{
int varOne = 2;
int varTwo;
        
varTwo = fun(varOne);
 
std::cout << varTwo << "\n";
    
system("pause");
return 0;
}


В частности меня интересует какую роль выполняет оператор & в строке 3 и чем отличается такая же программа без &.

Распишите по возможности так, как я описывал первую программу, что бы не оставалось вопрос, что бы не пришлось переспрашивать.

Это первый вопрос в этой теме, дальше я буду добавлять вопросы, про указатели константы и т.д. так что если что, смотрите последние сообщения, а не первое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru