私が書いているライブラリのUnicode文字列クラスを使用する次のコードがあります。
#include <cstdio>
#include "ucpp"
main() {
ustring a = "test";
ustring b = "ing";
ustring c = "- -";
ustring d;
d = "cafe\xcc\x81";
printf("%s\n", (a + b + c[1] + d).encode());
}
ustringクラスインスタンスのencodeメソッドは、内部UnicodeをUTF-8char*に変換します。ただし、charクラス定義にアクセスできないため、暗黙的な型キャストを定義する方法がわかりません(したがって、printfなどで使用するときに手動でencodeを呼び出す必要はありません)。