다음과 같은 함수 참조를 사용하는 경우
void (&fr)() = foo;
fr();
같은 함수 포인터 대신
void (*fp)() = &foo;
fp();
함수 포인터가 할 수 없지만 함수 참조가 할 수있는 것이 있습니까?
참조를 정의 할 때 :
void (&fr)() = foo;
fr();
를 사용할 수있는 fr
거의 모든 곳에서 사용할 수있는 기능을 제공합니다. foo
그 이유는 다음과 같습니다.
fr();
(*fr)();
foo
직접 사용하는 것과 똑같은 방식으로 작동합니다 .
foo();
(*foo)();
또 하나의 차이점은 함수 참조를 역 참조해도 함수 포인터에 역 참조가 필요하지 않은 오류가 발생하지 않는다는 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다