>  기사  >  백엔드 개발  >  C++ 함수 매개변수에서 값 전달과 참조 전달의 차이점

C++ 함수 매개변수에서 값 전달과 참조 전달의 차이점

王林
王林원래의
2024-04-19 12:33:021093검색

C++ 함수 매개변수 전달에는 값 전달과 참조 전달이라는 두 가지 방법이 있습니다. 값 전달: 지역 변수의 복사본을 생성하고 복사본에 대한 수정 사항은 원래 변수에 영향을 주지 않습니다. 참조로 전달: 참조를 원래 변수에 직접 전달하고 참조 변수에 대한 수정 사항이 원래 변수에 반영됩니다.

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;
}

이 함수는 두 개의 정수를 참조로 전달하므로 함수가 ab의 값을 바꿀 때 기본 변수의 원래 변수도 수정합니다. 기능 .

사용 예:

int main() {
  int x = 5, y = 10;
  swap(x, y); // 交换 x 和 y 的值
  cout << x << ", " << y << endl; // 输出交换后的值
  return 0;
}

출력:

10, 5

위 내용은 C++ 함수 매개변수에서 값 전달과 참조 전달의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.