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

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

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

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

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

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

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

Передача параметров в функцию по значению, по ссылке и по указателю - 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++
В каких случаях лучше передавать в функцию ссылки, а в каких указатели?

Как лучше передавать аргумент в функцию - по ссылке или по указателю? - 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() { ...

Передача по ссылке и по значению - C++
Эта тема стара как мир, но я хотел уточнить одну вещь. QBluetoothAddress* address = new QBluetoothAddress("00:1A:7D:DA:71:15"); ...

Передача данных по значению и по ссылке - C++
Всем привет! Помогите плз разобраться в передаче данных в качестве параметров функции. *var и &var в чем между ними разница,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 19:59     Передача параметров в функцию по значению, по ссылке или по указателю #2
Тут, например, можно почитать)
http://kvodo.ru/urok-6-2-funktsii-pe...or-return.html
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;
}
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
19.01.2014, 20:20     Передача параметров в функцию по значению, по ссылке или по указателю #4
Но только в функцию такого вида Swap(int *a,int *b) можно передать только указатель!
то есть переменные, которые объявлены так: int *a,*b;

ну или передавать так: Swap(&a,&b)
Kuzia domovenok
1890 / 1745 / 118
Регистрация: 25.03.2012
Сообщений: 5,924
Записей в блоге: 1
19.01.2014, 20:20     Передача параметров в функцию по значению, по ссылке или по указателю #5
В книгах это написано лучше, чем тебе тут своими словами на форуме можно попытаться объяснить. И вообще, если не знаешь, что такое ссылки и указатели в общем, какой смысл тебе объяснять тебе частные случаи их применения?!
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
19.01.2014, 20:47     Передача параметров в функцию по значению, по ссылке или по указателю #6
В любом случае происходит копирование аргумента, будь то целевой объект или указатель, так что в функции Вы всегда работаете с копией.
В случае передачи ссылки просто скрывается вся работа с копией указателя
Yandex
Объявления
19.01.2014, 20:47     Передача параметров в функцию по значению, по ссылке или по указателю
Ответ Создать тему
Опции темы

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