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

передача аргументов - C++

Восстановить пароль Регистрация
 
vladis222
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 78
14.07.2012, 16:56     передача аргументов #1
Здравствуйте,объясните пожалуйста,на примерах кода,что означает передача аргументов по ссылке, по значению,передача копий аргументов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2012, 16:56     передача аргументов
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
14.07.2012, 16:59     передача аргументов #2
По значению = копия.

По ссылке

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
 
void inc(int& v)
{
    ++v;
}
 
int main()
{
    int a = 0;
    inc(a);
    std::cout << a << std::endl;
}
По конст-ссылке

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
 
void print(const int& val)
{
    // cannot modify val.
    std::cout << val << std::endl;
}
 
int main()
{
    print(1);
}
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
14.07.2012, 17:00     передача аргументов #3
Если передаешь в функцию что-то по значению, то при таком :
void func(int a)
{
a = a + 1000;
}

void main()
{
.....
int x = 10;
func(x);
// x осталась равна 10, так как в функции создалась отдельная переменная "a", которая и была изменена. В неё только передалось значения переменной "x", откуда и название - "передача по значению"
По поводу ссылок можешь прочитать мой пост :
Ссылка на структуру
Yandex
Объявления
14.07.2012, 17:00     передача аргументов
Ответ Создать тему
Опции темы

Текущее время: 21:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru