C 언어 와 디자인 모드 (3.10 템 플 릿 방법 모드)
typedef int ( *ProcInner )();
int proc1( void )
{
return 1;
}
int proc2( void )
{
return 2;
}
int proc( ProcInner proc_inner )
{
// ...
int flag = proc_inner();
// ...
return flag;
}
int main( void )
{
int status = 2;
int flag = -1;
//
if ( status == 1 )
flag = proc( proc1 );
//
if ( status != 1 )
flag = proc( proc2 );
printf("%d\r
", flag);
return 0;
}
이것 이 바로 템 플 릿 방법 모드 입 니 다. proc 는 템 플 릿 을 썼 습 니 다. 모든 proc 의 호출 점 에서 이 템 플 릿 을 동적 으로 실현 합 니 다. 이른바 동적 입 니 다. 즉, 이 관 계 는 죽은 것 이 아니 라 status 의 변화 에 따라 변화 할 수 있 습 니 다.그 핵심 은 proc 1 과 proc 2 는 proc 내부 에서 논리 적 으로 분리 할 수 없 는 부분 입 니 다. proc 1 과 proc 2 를 추상 적 으로 해 야 proc 의 차원 적 의 미 를 완전 하 게 표현 할 수 있 습 니 다. 이때 템 플 릿 방법 모델 을 과감하게 사용 하 세 요.심지어 proc 안의 첫 번 째 처리 에 도 자신 만 의 변화 방향 이 있다 면 첫 번 째 처 리 를 추상 화하 고 참여 의 변 화 를 통 해 서로 다른 변화 방향 을 실현 할 수 있다.
이상 의 내용 을 파악 한 후에 함수 포인터 의 유연 한 변 화 를 통 해 관심 사 를 분리 한 다 는 것 을 알 게 되 었 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
CSS 열 🎨텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.