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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Vegas_I
1 / 1 / 0
Регистрация: 28.02.2013
Сообщений: 103
#1

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

19.01.2014, 19:50. Просмотров 1503. Ответов 5
Метки нет (Все метки)

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

Чем отличаются эти 3 способа. И, если не сложно, привести пример каждого способа.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2014, 19:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача параметров в функцию по значению, по ссылке или по указателю (C++):

Передача параметров в функцию по значению, по ссылке и по указателю - C++
Доброе время суток товарищи программисты. Столкнулся с кучей ошибок в написании простой программы. Задача заключается в том чтобы написать:...

Передача параметров функции по значению, ссылке и указателю - C++
Вычислить F=f(a)-5f^3(sin(b/2))+1/f(1+c^4), де f(x)=3x^2-2x^2+7, при a=5.08, b=-0.65, c=3.87 Добавлено через 45 минут #include...

Передача аргумента в функцию по значению, по ссылке, по указателю: в чём концептуальная разница? - C++
Доброго всем здравия, прошу прощения, что достал уже всех этой темой. #include <iostream> using namespace std; int my_attemp(int...

Передача в функцию по ссылке или указателю - C++
Гуру C++, как предпочтительнее делать?:) void f1(int &a) { a = 5; } void f2(int * a) {

Передача аргументов в функцию по ссылке и указателю - C++
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?

Передача по ссылке или указателю? - C++
В каких случаях лучше передавать в функцию ссылки, а в каких указатели?

5
_script_
170 / 138 / 34
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 19:59 #2
Тут, например, можно почитать)
http://kvodo.ru/urok-6-2-funktsii-pe...or-return.html
0
cooller
565 / 533 / 120
Регистрация: 25.12.2013
Сообщений: 1,456
19.01.2014, 20:16 #3
Vegas_I,
Цитата Сообщение от Vegas_I Посмотреть сообщение
по указателю
Передается адрес переменной, а значит может быть использована операция разыменования для доступа к значению.
Цитата Сообщение от Vegas_I Посмотреть сообщение
по ссылке
будешь работать напрямую с переменной. Все изменения которые произойдут в функции будет и вне ее.
Цитата Сообщение от Vegas_I Посмотреть сообщение
по значению
в функции ты будешь работать с фактической копией аргумента, после выхода из функции значение переменной останется прежний

Добавлено через 7 минут
Vegas_I, Вот примеры
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//передача по значениею
void Swap(int a,int b)
{
    int temp = a;
    a = b;
    b = temp;
}
//передача по ссылке
void Swap(int &a,int &b)
{
    int temp = a;
    a = b;
    b = temp;
}
//передача по указателю
void Swap(int *a,int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}
0
_script_
170 / 138 / 34
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 20:20 #4
Но только в функцию такого вида Swap(int *a,int *b) можно передать только указатель!
то есть переменные, которые объявлены так: int *a,*b;

ну или передавать так: Swap(&a,&b)
0
Kuzia domovenok
2045 / 1890 / 172
Регистрация: 25.03.2012
Сообщений: 6,512
Записей в блоге: 1
19.01.2014, 20:20 #5
В книгах это написано лучше, чем тебе тут своими словами на форуме можно попытаться объяснить. И вообще, если не знаешь, что такое ссылки и указатели в общем, какой смысл тебе объяснять тебе частные случаи их применения?!
0
Croessmah
Ушел
Эксперт CЭксперт С++
13557 / 7707 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
19.01.2014, 20:47 #6
В любом случае происходит копирование аргумента, будь то целевой объект или указатель, так что в функции Вы всегда работаете с копией.
В случае передачи ссылки просто скрывается вся работа с копией указателя
0
19.01.2014, 20:47
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2014, 20:47
Привет! Вот еще темы с ответами:

Как лучше передавать аргумент в функцию - по ссылке или по указателю? - C++
Предположим, что нам нужно в функцию передать значение переменной чтобы по окончанию работы функции значение переменной изменилось. Меня...

Передача по указателю и по ссылке - C++
Всем привет! Есть функция, в которую передается ссылка: void Compare(int &p) { int * str = p;// здесь ошибка нельзя...

Помогите разобраться(С)Cпособы передачи аргументов в вызываемые функции: по значению, указателю и ссылке - C++
Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону ) реализовать в виде отдельных функций. При выполнении задания...

Почему передача по ссылке не работает, только по указателю? - C++
#include <iostream> #include<windows.h> #include<ctime> using namespace std; void input(int*,int); int main() { ...


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

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

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