>  기사  >  백엔드 개발  >  C++ 함수의 기본 및 명명된 매개변수

C++ 함수의 기본 및 명명된 매개변수

王林
王林원래의
2024-04-12 22:36:01881검색

C++에서는 함수 매개변수를 기본값으로 설정하여 함수 호출을 단순화하고 코드 가독성을 높일 수 있습니다. 또한 C++11에는 함수 호출 시 매개변수 이름을 사용하여 매개변수 값을 지정할 수 있도록 하여 코드 가독성과 유연성을 향상시키는 명명된 매개변수가 도입되었습니다. 기본 매개변수: 매개변수 기본값을 지정하려면 등호(=)를 사용하세요. 명명된 매개변수: 콜론(:)을 사용하여 매개변수 이름과 값을 구분하여 함수 호출 시 매개변수 이름을 지정합니다.

C++ 函数的默认参数和命名参数

C++ 함수의 기본 및 명명된 매개변수

C++에서 함수 매개변수는 기본값을 가질 수 있으므로 함수 호출이 단순화되고 코드를 더 쉽게 읽을 수 있습니다. 또한 C++11에는 명명된 매개변수가 도입되어 함수 호출 시 매개변수 이름을 지정할 수 있습니다.

기본 매개변수

함수 매개변수의 기본값을 설정하려면 매개변수 유형 뒤에 등호(=)와 기본값을 입력하세요. 예:

int sum(int a, int b = 0) {
  return a + b;
}

이 예에서 b 매개변수의 기본값은 0입니다. 함수 호출 시 b 값을 지정하지 않으면 기본값인 0이 사용됩니다. b 参数的默认值是 0。如果在调用函数时未指定 b 的值,则将使用默认值 0。

优点:

  • 简化函数调用,因为它允许省略具有默认值的可选参数。
  • 提高代码可读性,因为可以轻松识别函数的参数及其默认值。

命名参数

C++11 引入了命名参数,允许在函数调用时通过其名称指定参数值。语法是使用 : 分隔参数名称和值。例如:

int sum(int a, int b = 0) {
  return a + b;
}

int main() {
  int result = sum(b: 5, a: 3);  // 使用命名参数
  return 0;
}

在上面的示例中,result 变量将包含 8,因为 a 参数设置为 3,b 参数通过命名参数指定为 5。

优点:

  • 提高代码可读性,因为它明确了哪个参数值与哪个参数名称相关联。
  • 在参数顺序不重要的情况下,允许更灵活的函数调用。
  • 可以轻松交换参数值,而无需修改函数签名。

实战案例

考虑一个计算圆面积的函数:

double calcArea(double radius) {
  return 3.14159 * radius * radius;
}

使用默认参数,我们可以允许 radius

장점:

  • 선택적 매개변수를 기본값으로 생략할 수 있으므로 함수 호출이 단순화됩니다.
  • 함수의 매개변수와 기본값을 쉽게 식별할 수 있어 코드 가독성이 향상됩니다.
이름이 지정된 매개변수🎜🎜C++11에는 이름이 지정된 매개변수가 도입되어 함수가 호출될 때 매개변수 값을 이름으로 지정할 수 있습니다. 구문은 :를 사용하여 매개변수 이름과 값을 구분하는 것입니다. 예: 🎜
double calcArea(double radius = 1.0) {
  return 3.14159 * radius * radius;
}
🎜 위의 예에서 a 매개변수는 3으로 설정되고 b 매개변수는 3으로 설정되었기 때문에 result 변수에는 8이 포함됩니다. 5로 지정된 명명된 매개변수를 통해 전달됩니다. 🎜🎜장점: 🎜
  • 어떤 매개변수 값이 어떤 매개변수 이름과 연관되어 있는지 명확하게 하므로 코드 가독성이 향상됩니다.
  • 매개변수 순서가 중요하지 않은 보다 유연한 함수 호출을 허용합니다.
  • 함수 시그니처를 수정하지 않고도 매개변수 값을 쉽게 교환할 수 있습니다.
🎜실용 예🎜🎜원의 면적을 계산하는 함수를 생각해 보세요. 🎜
double area1 = calcArea();  // 使用默认半径 1.0
double area2 = calcArea(radius: 5.0);  // 使用命名参数指定半径
🎜기본 매개변수를 사용하면 radius 매개변수가 기본값 1.0: 🎜rrreee🎜이제 기본값으로 함수를 호출하거나 필요한 경우 명명된 매개변수로 함수를 재정의할 수 있습니다. 🎜rrreee

위 내용은 C++ 함수의 기본 및 명명된 매개변수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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