>백엔드 개발 >C++ >C++ 함수 오버로딩 및 함수 인라인

C++ 함수 오버로딩 및 함수 인라인

WBOY
WBOY원래의
2024-04-16 09:09:01799검색

함수 오버로딩 및 함수 인라인 함수 오버로딩을 사용하면 이름은 같지만 매개변수 목록이 다른 여러 함수를 생성하고 다양한 입력 유형에 대한 특정 코드를 작성할 수 있습니다. 함수 인라인은 프로그램 속도를 향상시키기 위해 함수 코드를 호출 지점에 직접 삽입하는 컴파일러 최적화입니다.

C++ 函数重载和函数内联

C++ 함수 오버로딩 및 함수 인라인

함수 오버로딩

함수 오버로딩을 사용하면 이름은 같지만 매개변수 목록이 다른 여러 함수를 만들 수 있습니다. 이를 통해 다양한 유형이나 입력량에 따라 대상별 코드를 작성할 수 있습니다.

구문: ​​

returnType functionName(parameter1, parameter2, ...);
returnType functionName(parameter1, parameter2, ..., parameterN);

예:

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

Function inlining

Function inlining은 호출 사이트에 함수 코드를 직접 삽입하는 컴파일 유형입니다(함수 호출을 통해 함수로 점프하는 대신). 서버 최적화 기술. 이는 특히 함수가 자주 호출되는 경우 프로그램 속도를 향상시킬 수 있습니다.

구문:

함수의 경우:

inline returnType functionName(parameter1, parameter2, ...);

멤버 함수의 경우:

inline returnType className::memberFunctionName(parameter1, parameter2, ...);

실제 예:

다양한 모양의 면적을 계산한다고 가정해 보겠습니다. 함수 오버로드를 사용하여 각 모양에 대한 특정 면적 계산 함수를 만들 수 있습니다.

예:

#include <iostream>

using namespace std;

double area(int radius) {
  return 3.14 * radius * radius;
}

double area(int length, int width) {
  return length * width;
}

double area(int base, int height) {
  return 0.5 * base * height;
}

int main() {
  cout << "圆的面积: " << area(5) << endl;
  cout << "矩形的面积: " << area(4, 7) << endl;
  cout << "三角形的面积: " << area(3, 6) << endl;
}

함수 인라인을 사용하면 프로그램 효율성을 더욱 향상시킬 수 있습니다.

#include <iostream>

using namespace std;

inline double area(int radius) {
  return 3.14 * radius * radius;
}

inline double area(int length, int width) {
  return length * width;
}

inline double area(int base, int height) {
  return 0.5 * base * height;
}

int main() {
  cout << "圆的面积: " << area(5) << endl;
  cout << "矩形的面积: " << area(4, 7) << endl;
  cout << "三角形的面积: " << area(3, 6) << endl;
}

위 내용은 C++ 함수 오버로딩 및 함수 인라인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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