clang 3.1(trunk) に Universal character names in literals が実装された

user-defined literals の直後に追加されたみたいで気が付きませんでした。
文字列の中に直接文字コードを記述することが出来ます。

[ソース]

#include <string>
#include <cassert>

int
main(){
    char16_t const* s = u"\u307b\u3080ほむ";
    assert(s == std::u16string(u"ほむほむ"));

    return 0;
}

clang の進化が止まらない。

[コンパイラ]

  • clang++ (LLVM) 3.1 20120311(trunk)