読者です 読者をやめる 読者になる 読者になる

gl5_progのメモ

自分のためのメモとかまとめとか

アイデア

C++で簡易タプルを実装してみる

http://ideone.com/FWKkVv #include <stdio.h> #define tempClassDef( num ) template<class T##num> struct tempClass##num { T##num m##num; }; \ template<> struct tempClass##num<void> { } tempClassDef( 0 ); tempClassDef( 1 ); tempClassDef( 2 ); template<class T0, class T1=void, class T2=void> struct MyTup…</class></void></class></stdio.h>

C++で前方宣言したクラスの内部クラスへのポインタを引数にとる関数を作成するアイデア

はじめに C++では前方宣言したクラスの内部クラスをさらに前方宣言することはできません。 class A; class A::Inner; // error class B { public: void Func( A::Inner* p ); // error }; なので、内部クラスへのポインタを引数にとる関数を宣言するには、外…

C++で自由な順番でメンバの初期化(相当)を行うアイデア

はじめに C++で正しくメンバ変数の初期化を行おうとすると、コンストラクタでメンバイニシャライザを使って行わなければなりません。このメンバイニシャライザは、「メンバ変数の宣言順に記述する必要がある」「コンストラクタの最初に記述する必要がある」…