C++03

代入演算子のエレガントな定義方法と,その不満点

ユーザ定義されたクラスに対して 代入演算子を定義する場合, コンパイラの生成するデフォルトの代入演算子では,例外安全の強い保証を満たせない場合がある. struct Hoge { std::vector<int> x, y; Hoge() = default; Hoge(std::vector<int> x_, std::vector<int> y_) : x</int></int></int>…

新しい enable_if を楽に使うマクロ ETUDE_ENABLE_IF を作ってみた

元ネタ: 本の虫「C++0xにおけるenable_ifの新しい使い方」 Boost の ML で、新しい enable_if の使い方が示されているようです: // Never defined extern void * enabler ; template < typename T, typename std::enable_if< std::is_arithmetic<T>::value >:</t>…