私のプログラムには多くの ANSI<=>UNICODE 会話が必要なので、追加機能や多くの新規作成/削除よりも簡単にすべてのものを変換するマルチタイプ オブジェクトを作成するというアイデアを得ました。擬似コード:
class CWchar // char based
{
public:
public static implicit operator wchar_t*(CWchar cw)
{
// converting cw.data to wchar_t
// up to U+FFFF conversion needed
}
public static implicit operator char*(CWchar cw)
{
return cw.data;
}
CWchar& CWchar::operator=(const char* c)
{
data = *c;
return *this;
}
CWchar& CWchar::operator=(const wchar_t* c)
{
//conversion to char* ...
return *this;
}
// add some smart pointers, garbage collector, and leave delete
private:
char* data;
}
それは本当にコーディングする価値がありますか、それとも別の解決策を考えるべきですか? たぶん、すでに完了したプロジェクトがありますか?それとも、私が間違っていて、この考えは悪いのでしょうか? ありがとう