C++에서는 매개변수를 전달하는 네 가지 방법이 있습니다. 1. 값으로 전달(복사) 2. 참조로 전달 3. 상수 참조로 전달 4. 포인터로 전달. 값에 의한 전달과 참조에 의한 전달은 원래 값을 수정하는 데 사용되고, 상수 참조는 읽기 전용 액세스에 사용되고, 포인터에 의한 전달은 메모리 주소를 연산하는 데 사용됩니다.
C++ 함수 매개변수 전달 방법
C++에서는 데이터를 함수에 전달하는 방법이 많이 있습니다. 값의 복사본이 전달되는지 아니면 값에 대한 참조가 전달되는지에 따라 매개변수 전달 방법은 다음과 같은 유형으로 구분됩니다.
1. 값으로 전달
값의 복사본을 전달하고 복사본에 대한 수정 원래 값에는 영향을 미치지 않습니다. 선언 방법:
void f(int a); // 传递 a 的副本
2. 참조로 전달
값에 대한 참조를 전달하고 참조를 수정하면 원래 값에 영향을 미칩니다. 선언 방법:
void f(int& a); // 传递 a 的引用
3. 상수 참조로 전달
은 참조로 전달하는 것과 유사하지만 참조가 가리키는 값을 수정할 수 없습니다. 선언 방법:
void f(const int& a); // 传递 a 的常引用
4. 포인터로 전달
포인터가 가리키는 값을 수정하면 원래 값에 영향을 줍니다. 선언 방법:
void f(int* a); // 传递 a 的指针
실제 사례:
다음은 값별 전달 및 참조별 전달을 사용한 C++ 함수의 예입니다.
#include <iostream> // 传值 void swapValue(int a, int b) { int temp = a; a = b; b = temp; } // 传引用 void swapReference(int& a, int& b) { int temp = a; a = b; b = temp; } int main() { int x = 1, y = 2; std::cout << "Before swapValue: x = " << x << ", y = " << y << std::endl; swapValue(x, y); std::cout << "After swapValue: x = " << x << ", y = " << y << std::endl; std::cout << "Before swapReference: x = " << x << ", y = " << y << std::endl; swapReference(x, y); std::cout << "After swapReference: x = " << x << ", y = " << y << std::endl; return 0; }
출력 결과:
Before swapValue: x = 1, y = 2 After swapValue: x = 1, y = 2 Before swapReference: x = 1, y = 2 After swapReference: x = 2, y = 1
참고:
위 내용은 C++에서 함수 매개변수를 전달하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!