C++ 함수에서 매개변수를 전달하는 방법에는 참조 전달, 값 전달, 암시적 유형 변환, const 매개변수, 기본 매개변수 등 5가지가 있습니다. 참조로 전달하면 효율성이 향상되고 암시적 유형 변환은 더 안전합니다. const 매개변수는 실수로 인한 수정을 방지합니다. 함수형 프로그래밍에서는 함수 매개변수를 사용하여 데이터를 전달하고 작업을 수행할 수 있습니다.
C++에서 매개변수는 함수에 전달되는 데이터입니다. 매개변수가 전달되는 방식은 코드의 스타일, 성능 및 가독성에 중요한 영향을 미칩니다.
참조로 전달은 변수에 대한 포인터입니다. 함수가 참조로 매개변수를 전달하면 함수가 매개변수에 대해 변경한 내용이 원래 변수에 반영됩니다. 참조로 전달하면 함수 호출 시 데이터를 복사할 필요가 없으므로 효율성이 향상됩니다.
void increment(int& value) { value++; } int main() { int x = 5; increment(x); // 引用传递 cout << x; // 输出 6 }
값으로 전달은 인수 복사본을 함수에 전달합니다. 함수가 이 복사본에 대해 변경한 내용은 원래 변수에 영향을 주지 않습니다. 값을 전달하는 것은 실수로 인한 수정을 방지하므로 더 안전합니다.
void increment(int value) { value++; } int main() { int x = 5; increment(x); // 值传递 cout << x; // 输出 5(不变) }
매개변수가 값으로 전달되면 C++는 자동으로 암시적 유형 변환을 수행합니다. 예를 들어, 함수에 int 매개변수가 필요하지만 char이 전달되면 C++에서는 char를 int로 변환합니다.
void print(int value) { cout << value; } int main() { char c = 'a'; print(c); // 隐式转换,输出 97('a' 的 ASCII 码) }
const 매개변수는 함수로 수정할 수 없습니다. Const 매개변수는 우발적인 수정을 방지하므로 코드를 더욱 안전하게 만드는 데 도움이 됩니다.
void print(const int& value) { // value 不能被修改 } int main() { const int x = 5; print(x); }
기본 매개변수를 사용하면 함수 호출 시 특정 매개변수를 생략할 수 있습니다. 기본 매개변수는 함수 매개변수 목록의 끝에 배치되어야 합니다.
void print(int value, const string& name = "Unknown") { cout << "Name: " << name << ", Value: " << value; } int main() { print(5); // 使用默认参数 print(10, "John"); // 指定参数 }
다음 함수형 프로그래밍 코드 예제에서는 함수 매개 변수를 사용하여 데이터를 전달하고 작업을 수행할 수 있습니다.
#include <iostream> #include <functional> using namespace std; // 接收一个整数并返回其平方的 lambda 函数 auto square = [](int x) { return x * x; }; int main() { // 将 lambda 函数传递给 for_each 函数 vector<int> numbers = {1, 2, 3}; for_each(begin(numbers), end(numbers), square); // 打印平方的值 for (auto num : numbers) { cout << num << " "; } return 0; }
이 코드 예제에서는 람다 함수square
作为一个参数传递给 for_each
함수를 사용하여 각 항목에 대한 작업을 수행합니다. 컨테이너 요소에 대해 제곱 작업을 수행합니다.
위 내용은 C++ 함수 매개변수에 대한 자세한 설명: 함수형 프로그래밍에서 매개변수 전달에 대한 아이디어의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!