C++의 함수에서 포인터를 반환하는 방법

C Ui Hamsueseo Pointeoleul Banhwanhaneun Bangbeob



C++에서 함수는 일부 기능을 수행하기 위해 도입된 코드 블록이며 포인터는 함수의 변수를 가리키는 데 사용됩니다. 포인터는 주소와 함께 할당됩니다.

C++의 함수에서 포인터를 반환하는 방법

C++에서는 함수에서 포인터를 반환하는 것이 가능합니다. 이는 반환 유형 함수를 해당 함수에 대한 포인터로 선언하여 달성할 수 있습니다. 생성된 모든 함수는 메모리에서 지정된 주소를 사용합니다. 별표 *는 함수 이름 왼쪽에 삽입됩니다.







통사론

다음은 C++의 함수에서 포인터를 반환하는 구문입니다.



반품 유형 ( * 함수_포인터_이름 ) ( 인수_유형_1, 인수_유형_2, …, 인수_유형_n ) = 함수_이름 ;

실시예 1

이 예에서는 C++의 함수에서 포인터를 반환하는 방법을 보여줍니다.



#include

사용하여 네임스페이스 성병 ;

무효의 결과 ( 정수 & )

{

+ = 10 ;

}

정수 기본 ( )

{

정수 엑스 = 40 ;

//포인터가 함수에서 반환됨

무효의 ( * ptr ) ( 정수 & ) = & 결과 ;

ptr ( 엑스 ) ;

시합 << 엑스 << ;

반품 0 ;

}

이 소스 코드에서는 void 결과 함수가 선언되고 10배 증가되는 int a에 대한 참조를 사용합니다. 변수 x는 값 40을 저장하고 *ptr은 int& 함수를 가리킵니다. ptr이 결과를 가리키므로 x는 10씩 증가합니다.





입력 x의 값은 10씩 증가하고 50씩 반환됩니다.



실시예 2

다음은 근로자의 주급을 계산하는 예입니다.

#include

사용하여 네임스페이스 성병 ;

더블 & GetWeeklyHours ( )

{

더블 시간 = 32.65 ;

더블 & 시간 = 시간 ;

반품 시간 ;

}

더블 * 급여 받기 ( )

{

더블 샐러리 = 42.48 ;

더블 * 시급 = & 샐러리 ;

반품 시급 ;

}

정수 기본 ( )

{

더블 시간 = GetWeeklyHours ( ) ;

더블 샐러리 = * 급여 받기 ( ) ;

시합 << '근로자의 주당 근무 시간:  ' << 시간 << ;

시합 << '근로자의 시급:' << 샐러리 << ;

더블 주급 = 시간 * 샐러리 ;

시합 << '근로자의 주급: ' << 주급 << ;

반품 0 ;

}

이 소스코드에는 근무시간과 시급이 입력되어 있습니다. 함수 메서드의 반환 포인터는 이러한 매개변수에 액세스하고 근로자의 주급을 계산하는 데 사용됩니다.

주급과 시급을 알면 두 항을 곱하여 주급을 계산할 수 있습니다.

결론

C++에서는 함수에서 포인터를 반환하는 것이 가능합니다. 이는 반환 유형 함수를 해당 함수에 대한 포인터로 선언하여 달성할 수 있습니다. 생성된 모든 함수는 메모리에서 지정된 주소를 사용합니다.