以下の4つです。
#include <iostream> #include <vector> #include <algorithm> template <class T> class smart_ptr { T* p_; public: smart_ptr() : p_(0) {} explicit operator bool() const // 1.明示的な型変換演算子 { return p_ != 0; } }; int main() { smart_ptr<int> p; if (p) {} // int x = p + 1; // NG const std::vector<int> v = {1, 2, 3}; // 2.ラムダ式 std::for_each(v.begin(), v.end(), [](int x) { std::cout << x << std::endl; }); // 3.ローカルクラスをテンプレート引数として使用 struct local {}; std::vector<local> l; // 4.Raw String Literal std::string path = R"[C:\a.txt]"; std::cout << path << std::endl; // 「C:\a.txt」と出力される }
constexprもこっそり入ってますが、キーワードがあるだけのようです。
十分な実装はできてるけどGCC 4.5には間に合わなかったそうです。(パッチはあるらしい)
追記:
3つではなく4つでした。
Raw String Literalを追記しました。