2
나는 INI 데이터 형식을로드/저장/생성하는 INI 클래스를 작성했지만 지금은 ASCII 문자로만 작동하지만 지금은이 문자를 사용하도록 확장하려고합니다. 문자 인코딩의 모든 유형, 그래서 char, wchar_t. 이렇게하기 위해서, 나는 파싱을하기위한 다양한 문자열 함수를 설정해야한다. 몇 가지 설정이 있지만 basic_string의 모든 유형에서 작동하도록 다시 작성해야합니다.다른 문자 인코딩으로 작동하는 템플릿 ToString 함수
제 질문과 관련하여 모든 유형의 문자 인코딩에서 작동하는 ToString 함수가 필요합니다. 어떻게해야합니까?
나는 다음과 같은 두 가지 기능이있다 : 나는 아직도 그것을 입력하는 동안 따라서template <typename T>
static string toStr(const T& val)
{
stringstream out;
out << val;
return out.str();
}
template <typename T>
static wstring toWStr(const T& val)
{
wstringstream out;
out << val;
return out.str();
}
좋은 일을! 그러나 원래 기능을 사용하는 것이 좋습니다. 템플릿 매개 변수가있는 바이올린보다 적절하게 명명 된 함수를 사용하는 것이 더 편합니다. 'toString (123)'. 그냥 좋아 보인다. 컴파일 타임 다형성이 필요하지 않는 한. –
@Stefan 제 INI 시스템에서는 인코딩을 지정할 수 있습니다. JSON 파서를 직접 작성할 때 템플릿을 사용하여 인코딩을 지정할 수도 있습니다. 그래서 더 좋은 옵션이 없다면, 이것이 내가 할 수있는 유일한 방법이라고 생각합니다, 네? – leetNightshade
거의 예. 예를 들어 수업이있는 경우 'template class IniFile; 그리고 적절한 toString() 오버로드를 호출하기를 원한다면 올바른 방법이 될 것입니다. 컴파일 타임 다형성이 의미하는 바입니다. –