暫く触っていないとすぐ忘れるのでメモ.クラスを関数の引数に取るとき,参照で渡すかポインタで渡すか?結論をさっさと書くと,constなら参照,非constならポインタをデフォルトとする.constポインタはconst参照の使用が合理的でない場合に使える.非const参照は使ってはいけない. constの有無 ポインタ 参照 const △ 使える ○ 推奨 非const ○ 推奨 × 使ってはいけない! 結局好みの問題でもある気がするけど,GoogleのC++スタイルガイド,プログラミング言語C++第3版,大規模C++ソフトウェアデザインあたりでも上と同じような主張がされているということで正当化してみます. なぜ非constの参照がまずいのか 引数が変更されるかどうかが構文だけから分かりにくい.たとえば以下のコードでcが意図せず変更されてしまったとき,どの関数が悪さをしているのか調べるために