2009-01-24 (土)
*修士学位論文
なんだか,修論をそろそろ書き始めないといけない気がした.一週間くらいでなんとかしないと.
とりあえず,「修論」フォルダを作って「修論.txt」を書く.今のところテキストで5kb.
夕方は研究室へ.
*関数のオーバーロードとchar
charはunsigned char,signed charのどちらとも区別して扱われるんですね….符号の有無はコンパイラ依存なのでそうするのが妥当かもしれませんが,unsigned charとsigned charとcharの関数のうちひとつを実装し忘れたりすると,intの関数が呼ばれたりして危険です.
さらに,構造体とかも渡すので統一して参照渡しをしてたのですが,constな参照渡しって値渡しになることがあるんですね….charな変数でconst int &な関数を呼ぶことが出来ると思ってなかったので,気づくのに時間がかかりました.
参照渡しのつもりだったのに,試しに変数のアドレスを見たら別物になっているし….アドレスの値で変数の同一性を判定するようなコードはconstな参照渡しでは書けないということかな?(良く考えたら,一時オブジェクトが作られているだけだ…)