2007-02-14から1日間の記事一覧
template < bool bln, typename Type1, Typename Type2 > struct Std { typedef Type1 Type; }; template < typename Type1, typename Type2 > struct Std< false > { typedef Type2 Type; }; class CTest1 { /* 省略 */ }; class CTest2 { /* 省略 */ }; Std…
Template Meta-Programing の処理はコンパイル時に行われる。 その為 Template Meta-Programing ではあくまで静的な処理しか行わない (動的な処理の切り替えは不可能)。 また、enum 名は型として使用できない。 数値として処理される。
template < int n > struct Factional { enum { value = n * Factional< n - 1 > }; }; template <> struct Factional< 1 > { enum { value = 1 }; }; int i = Factional< 5 >::value; /* i = 120 */
class Test { /* 省略 */ }; Test var; とした時に class Test に operator()() を宣言・定義するだけで、 var(); と実行する関数を作ることが出来る。 STLの一部のアルゴリズムでは関数の実行結果で判定を行うのだが、 operator()( iter->Item ) という形で…
/etc/modprobe.d/aliases を編集 [変更前] alias net-pf-10 ipv6 [変更後] alias net-pf-10 off 参考 http://blog.goo.ne.jp/tbinterface/a4269988dd39dcbef3b3908f65d76eb7/30