traits は 特性 と云ふ意味。何らかのオブジェクトの特性を別のテンプレートで表現するのが traits と云ふ手法。 string の例 例として馴染み深い std::string を見てみよう。string は basic_string<char, char_traits<char>, allocator<char>> の typedef として定義されてゐる。この char_traits の部分が traits である。紛らはしいが、char_traits は char 型の特性と云ふ意味ではなく、文字 (character) の特性と云ふ意味である。 ここで、文字列と云ふものについて考へてみよう。文字列と云ふのは文字の列であり、文字の型をパラメータとすることが出来る。しかし、文字の集合が異なればその詳細も異なる。例へば、比較の方法が異なるかも知れないし、効率的なコピーの方法が異