C++

今日の謎

C++

Visual Studio 2005にて。 01: #define _CRTDBG_MAP_ALLOC 02: #include <stdlib.h> 03: #include <crtdbg.h> 04: #define new ::new(_NORMAL_BLOCK, __FILE__, __LINE__) 05: 06: class A 07: { 08: }; 09: 10: class B 11: { 12: public: 13: ~B() {} 14: }; 15: 16: void main</crtdbg.h></stdlib.h>…

配列の初期化

C++

ま、特に意味はない…。 #include <cstdio> #include <memory> void dump(char a[], unsigned int n, const char* id); void main(void) { char a1[8]; char a2[8] = {0}; char a3[8] = {}; char a4[] = {1, 2, 3}; char a5[8] = {1, 2, 3}; char a6[8]; memset(a6, 0, sizeof</memory></cstdio>…

メモリリーク検出

VC++では_Crt〜関数でメモリリークを容易に検出できるが、使い方を間違えてありもしないメモリリークで悩んでいる人がいた。コードはこんな感じ。 //foo.cpp #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h> #define new ::new(_NORMAL_BLOCK, __FILE__, __L</crtdbg.h></stdlib.h>…

謎の上司

休日にプライベートなコーディングを依頼してくる謎の上司。内容は「DNS照会パケット生成と回答パケット解析」。意図はまったくわからないが、要するにライブラリを使わずにとりあえずは名前解決(正引き)したいらしい。 参考にしたのはほぼここだけ…。 DNS …