タグ

ブックマーク / ntnek.hatenadiary.org (2)

  • 文字エンコードつきの文字列 - ntnekの日記

    こういうのはどうだろう: template <class Encoding, class Char = typename Encoding::char_type, class Traits = std::char_traits<Char>, class Allocator = std::allocator<Char> > class basic_estring : public std::basic_string<Char, Traits, Allocator> , public Encoding { };つまり自分の文字エンコーディングが何であるか知っている文字列クラス。 大抵のプログラムで使われる文字エンコーディングは決め打ちで良いだろうから、こんな感じのものを用意しておけば: template <typename Char = char16_t> class encoding_utf

    文字エンコードつきの文字列 - ntnekの日記
  • 和訳:Rvalue References: C++0x Features in VC10, Part 2 - ntnekの日記

    Stephan T. Lavavej のRvalue References: C++0x Features in VC10, Part 2の適当な訳です。左辺値と右辺値、無駄なテンポラリが生成される問題、新たな参照「右辺値参照」の特徴と使い方、ムーブセマンティクスの意味と使い方、完全転送パターンの書き方、それらを可能にする仕組みと、これに関する C++0x の新たな文法ルールについて書かれています。 特に前半は、この手の記事としてはこれまでで一番分かりやすく丁寧に解説されていると思います。正直よく分かっていなかったんですけど、これを読んでだいぶスッキリしました。 で、ムーブセマンティクスによるテンポラリの除去が日用品のように使えるようになれば、LinusLinux カーネル開発者たちが「C++なんてクソ言語は使えねぇ!」と主張する(正当な)理由の一つを崩すことができますね。これを機会

    和訳:Rvalue References: C++0x Features in VC10, Part 2 - ntnekの日記
  • 1