> 백엔드 개발 > C++ > 본문

C++에서 함수 포인터는 어떻게 작동하나요?

PHPz
풀어 주다: 2024-06-04 17:37:10
원래의
824명이 탐색했습니다.

C++에서 함수 포인터는 함수를 매개변수로 동적으로 전달하거나 저장할 수 있는 함수를 가리키는 변수입니다. 구문은 유형 이름 * 함수 이름입니다. 할당할 때 함수 포인터 주소를 사용하고 호출할 때 이를 역참조하십시오. 예를 들어, 함수 포인터를 이용하여 최대값을 계산할 때, 함수 포인터를 할당하고 호출하여 계산을 수행합니다.

函数指针在 C++ 中如何工作?

C++에서 함수 포인터가 작동하는 방식

C++에서 함수 포인터는 함수를 가리키는 변수입니다. 이를 통해 함수를 매개변수로 동적으로 전달하거나 데이터 구조에 저장할 수 있습니다.

Syntax

함수 포인터는 일반 함수처럼 선언되지만 유형 이름 뒤에 별표(*)가 옵니다.

typedef void (*FunctionPointer)(int);
로그인 후 복사

Assignment

일반 포인터처럼 함수 포인터에 함수 주소를 할당할 수 있습니다.

FunctionPointer fp = &myFunction;
로그인 후 복사

Call

함수 포인터를 역참조하여 호출할 수 있습니다:

fp(10);
로그인 후 복사

실제 예

함수 포인터를 사용하여 두 숫자의 최대값을 계산하는 프로그램을 고려해 보겠습니다.

#include <iostream>

using namespace std;

// 最大值函数
int max(int a, int b) {
  return a > b ? a : b;
}

// 函数指针比较函数
int compare(int a, int b, int (*fp)(int, int)) {
  return fp(a, b);
}

int main() {
  // 分配函数指针并调用它来计算两数的最大值
  int (*fp)(int, int) = &max;
  int result = compare(5, 10, fp);

  // 打印结果
  cout << "最大值:" << result << endl;

  return 0;
}
로그인 후 복사

위 내용은 C++에서 함수 포인터는 어떻게 작동하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!