안녕하세요 다음 상황이 있습니다.unordered_map (해시 테이블)의 컴파일 타임 생성도 컴파일시 클래스에 의해 확장되었습니다.
저는 C++ 14를 사용하고 있으며 객체가 JSON 객체를 통해 직렬화 된 여러 클래스가 있습니다. 내가하고자 가능한 각 클래스에 각각의 문자열을 비교하는 대신
{
...,
className: "class_one",
...,
}
: JSON 파일이 나타내는 객체의 클래스를 결정하기 위해, JSON은 예를 들어, 클래스 이름의 문자열로 매핑하는 className
필드를 가지고 해시 테이블 (std::unordered_map
)을 사용하는 것. 문제는 각 클래스에 대한 적절한 초기화 함수에 문자열의 모든 클래스 매핑이있는 해시 테이블을 수동으로 만들어야한다는 것입니다 (모든 클래스는 여기에서 동일한 수퍼 클래스에서 상속받습니다). 대신이 테이블의 컴파일 시간 생성을 수행하고 앞에서 언급 한 수퍼 클래스에서 상속 한 새로운 클래스를 기반으로 새로운 항목을 추가하고 싶습니다. 이것이 가능한가?