C++ ⇒ VBA 書いて覚えるための初心者自己中記事

C++ ⇒ VBA 勉強の履歴を付けるというかノート代わりに使ってます

2017-10-02から1日間の記事一覧

C++ terminate 書いて覚えるための初心者自己中記事

例外が最後までキャッチされないときに呼ばれる関数terminate terminate関数が呼ばれるとプログラムは異常終了する。 正確にはterminate関数はabort関数を呼び出して異常終了する。 exit関数は呼ばれないのでデストラクタも呼ばれない、正常な終了処理が行わ…

C++ volatile 書いて覚えるための初心者自己中記事

メモリ上にある値を使って計算を行うにはメモリからCPUへデータが読み込まれる。 CPUにもメモリとは別にデータを置いておく場所があり、この作業領域をレジスタという。レジスタは非常に高速なアクセス。CPUとレジスタの話? メモリからレジスタはそれなり。…

C++  extern"C" 書いて覚えるための初心者自己中記事

C言語で作られたライブラリをC++で使う場合には注意が必要。 CとC++では関数名の内部表現が違う。 内部表現はコンパイラ後の名前みたいなものか。 これがCとC++で違うってことはコンパイル後にお互いがわからなくなるのか。 これを解決するのがextern "言語…

C++ 多次元配列へのポインタ 書いて覚えるための初心者自己中記事

通常の配列へのポインタはそのまま行ける。 二次元配列からは普通じゃいけない。 int array[3][5]; int* p = array; これはエラーになる。 int array[3]; int* p = array; ふつうの配列でこうやるけど、配列名はそのまま先頭要素のアドレスなので、 int arra…

C++ 文字列化演算子 書いて覚えるための初心者自己中記事

マクロ引数に # をつけると文字列リテラルとして展開される。 #define TEST(n) cout << n << endl; int main() { TEST(i == 0); system("pause"); } これだとエラーになる。 #define TEST(n) cout << #n << endl; int main() { TEST(i == 0); system("pause"…

C++ トークン連結演算子 書いて覚えるための初心者自己中記事

トークンはコード内で分割できない最小単位だったはず。 それを連結する・・? なんだろう。 まず、 TYPEDEF_CONTAINERS(int, int); こう書くと typedef vector<int> VectorInt; typedef list<int> ListInt; typedef set<int> SetInt; こう展開されるマクロを作りたいとする</int></int></int>…

C++ コンマ演算子 書いて覚えるための初心者自己中記事

第三引数?でいいのかな。を , で区切って行えるのはなぜ? for (int i = 0; i < size; ++i, ++j) { という話らしい。 これはfor文の機能ではない。 コンマ演算子というものの働き。 式1,式2 と書けば式1から順に処理される。 これ全体で1つの式だという…

C++ 可変長配列メンバ 書いて覚えるための初心者自己中記事

構造体の話。 ん、わかりにくいな。 構造体でファイルのサイズとパス名を保存しておく場合に、 struct Fileinfo { int sizeFile;//ファイルサイズ char path[MAX_PATH];//パス名 }; こうすればいいけど、パス名を常に最大まで使うわけじゃない。 ほとんどが…