C++ boolean
なんか,ちょくちょく紛らわしいのでメモ.
trueは非ゼロ.
flaseはゼロ.
if(!p){ cout << "メモリ割り当てエラー" << endl; exit(1); }
っていう書き方がなかなか慣れない.
から,
if(p!=NULL){ cout << "メモリ割り当てエラー" << endl; exit(1); }
.
こんな会話があった..
おれ: true が0?
id:Silent-Bob : false == 0
おれ: trueが0以外か
おれ: ok
おれ: 紛らわしいよな
id:Silent-Bob : 0以外かどうか自身ない
おれ: いや確か非ゼロだったはず
id:Silent-Bob : k
id:Silent-Bob : コンストラクタにある
id:Silent-Bob : if(!str){...}さ
おれ: unn
id:Silent-Bob : どういう動作するん?
おれ: 1じゃなかったら
おれ: ってことだから
おれ: 0だったら
おれ: つまり,メモリが確保できなくて
おれ: NULLだったら
おれ: ってこと.
id:Silent-Bob : == NULLって書くね俺は!
おれも.