배경:
외부 라이브러리 헤더에 열거형 유형이 정의되어 있고 열거형 값을 사람이 읽을 수 있는 문자열로 변환하려고 합니다. 무차별 솔루션에는 수동으로 정의된 기능이 포함되지만 템플릿을 사용하여 우아한 솔루션을 추구합니다.
std::map:
사용하는 간단한 접근 방식은 std::map
map_init 클래스가 포함된 Syntactic Sugar:
구문을 단순화하기 위해 map_init 클래스를 생성하여 값 할당 체인을 활성화할 수 있습니다.
map_init(MyMap)(eValue1, "A") (eValue2, "B") (eValue3, "C");
이 클래스 템플릿은 다음에 대한 참조를 저장하는 map_init_helper 개체를 반환합니다. 지도를 작성하고 키-값 쌍을 추가하기 위한 연산자() 함수를 제공합니다.
사용 예:
이 접근 방식을 사용하려면 다음을 수행할 수 있습니다.
대안 접근 방식:
열거형 이름 자체를 문자열로 사용해야 하는 경우 [이 게시물](관련 게시물 링크)을 참조하세요.
요약:
이 솔루션은 C 열거형을 문자열에 매핑하는 쉽고 효율적인 방법을 제공하여 무차별 방식에 대한 보다 우아한 대안을 제공합니다. map_init 클래스는 구문을 더욱 단순화하여 열거형 값 맵과 해당 문자열 표현 작업을 더 쉽게 만듭니다.
위 내용은 템플릿을 사용하여 C 열거형을 문자열에 쉽게 매핑하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!