ワニとタマゴのパズルで型なしラムダ計算がわかる、かも。分かった後で、だから何?と聞かれるのが一番困る…
C++09の話。
テンプレートtypedefとして望まれていたものはテンプレートエイリアスとなるようです。
template<typename T> using Registry = std::map<std::string, T>;
テンプレート引数がないものもtypedefの代わりに使えます。
using Size = int;
可変長のテンプレート引数がサポートされるようです。
template<typename... Mixins>
class X : public Mixins...{
public:
X(const Mixins&... mixins) : Mixins(mixins)... {}
};
X<A, B, C> c;
のように書くと、
class X<A, B, C> : public A, public B, public C {
public:
X(const A& a, const B& b, const C& c) : A(a), B(b), C(c) {}
};
の意になります。
<cuchar>で16bitと32bitの文字列をサポート。
char16_t* str16 = u"16bitの文字列"; char32_t* str32 = U"32bitの文字列";