728x90
반응형

switch case

728x90
반응형
프로그래밍/C & C++

[C++] 함수 포인터를 이용해 Switch ~ case문 대체

데이터를 처리할 때 보통 Switch case문을 사용한다. 하지만 데이터의 종류가 많아지게 되면 case가 수백 개가 넘어가는 경우가 생긴다. 이 경우 함수 포인터를 통해 Swich문을 제거해 줄 수 있다. Switch문을 이용해 Packet을 처리하는 방식은 case가 많아질수록 성능이 저하될 수 있음. 관리도 어려워지고 가독성도 떨어짐. Switch문을 함수 포인터로 관리할 수 있도록 함. 예를 들어, 아래와 같이 Swich case문을 함수 포인터 형태로 바꿔보자. void Model::ProcessMessage(const int idx, const char* data) { switch(idx) { case 0: ProcessA(data); break; case 1: ProcessB(data); ..

728x90
반응형
라닝
'switch case' 태그의 글 목록