C++ 함수 매개변수 전달에는 값 전달과 참조 전달이라는 두 가지 방법이 있습니다. 값 전달: 지역 변수의 복사본을 생성하고 복사본에 대한 수정 사항은 원래 변수에 영향을 주지 않습니다. 참조로 전달: 참조를 원래 변수에 직접 전달하고 참조 변수에 대한 수정 사항이 원래 변수에 반영됩니다.
C++ 함수 매개변수를 값으로 전달하는 것과 참조로 전달하는 것의 차이점
값으로 전달
함수 매개변수를 값으로 전달하면 지역 변수의 복사본이 생성됩니다. 이 복사본을 변경해도 원래 변수에는 영향을 미치지 않습니다.
구문:
void function(int value);
Pass by reference
함수 매개변수가 참조로 전달되면 복사본을 생성하는 대신 원본 변수에 대한 참조가 직접 전달됩니다. 참조 변수에 대한 변경 사항은 원래 변수에 반영됩니다.
구문:
void function(int& value);
실제 예
다음 함수를 고려하세요.
void swap(int& a, int& b) { int temp = a; a = b; b = temp; }
이 함수는 두 개의 정수를 참조로 전달하므로 함수가 a
和 b
의 값을 바꿀 때 기본 변수의 원래 변수도 수정합니다. 기능 .
사용 예:
int main() { int x = 5, y = 10; swap(x, y); // 交换 x 和 y 的值 cout << x << ", " << y << endl; // 输出交换后的值 return 0; }
출력:
10, 5
위 내용은 C++ 함수 매개변수에서 값 전달과 참조 전달의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!