C++ Передача по значению

Функции C++

Для передачи параметров в функциюпередача по значениюкопирует фактические значения аргументов в формальные параметры функции. В этом случае изменение формальных параметров внутри функции не влияет на фактические аргументы.

По умолчанию C++ используетпередачу по значениюв качестве метода передачи параметров. Вообще говоря, это означает, что код внутри функции не изменяет фактические аргументы, используемые для вызова функции. Функцияswap()Определение выглядит следующим образом:

// Определение функции void swap(int x, int y) { int temp; temp = x; /*Сохранить значение x*/ x = y; /*Присвоить y переменной x*/ y = temp; /*Присвойте x переменной y*/ return; }

Теперь давайте вызовем функцию, передав фактические аргументы.swap():

Пример

#include <iostream> using namespace std; // Объявление функции void swap(int x, int y); int main () { // Объявление локальной переменной int a = 100; int b = 200; cout << "Перед swap, значение a:" << a << endl; cout << "Перед swap, значение b:" << b << endl; // Вызов функции для обмена значениями swap(a, b); cout << "После swap, значение a:" << a << endl; cout << "После swap, значение b:" << b << endl; return 0; }

Когда приведенный выше код скомпилирован и выполнен, он выдает следующие результаты:

交换前,a 的值: 100
交换前,b 的值: 200
交换后,a 的值: 100
交换后,b 的值: 200

Приведённый выше пример показывает, что хотя значения a и b были изменены внутри функции, фактические значения a и b не изменились.

Функции C++

Другие расширения