【C++】 const だけでメシが3杯食えちゃうスレ
■ このスレッドは過去ログ倉庫に格納されています
0529526
NGNG> 定義にとっては意味がないこともない
詳細キボンです
>>528
あー、確かに… 仮引数をクラスへのconst参照にしたら
その関数内部からはconstメンバ関数しか呼べないですし、
(publicな)メンバ変数ならreadしかできませんね…
そもそも仮引数にconstを付けるのって、呼び出し側に
「中身を書き換えませんよ〜」って知らせてあげる効果がありますよね
基本型(int/char等)でも集合型(struct/class)でも値引数ならコピーされるから
呼び出し側は渡した実引数を変更される心配をしないですよね?
なので、中身を書き換えられる心配は無いのだから
わざわざconstつけなくても良いのでは… ということです
現実的には、コピーするとコストかかっちゃうから、
基本型じゃなければ、おっしゃる通りに参照(とかポインタ)にするでしょうし、
更に関数内で書き換えない場合はそれを呼び出し側に知らせるためにもconstにすると思います
# 実際に関数内でconst引数の中身を書き換える操作をしようとすれば
# コンパイルエラーになりますし
長文スマソ
■ このスレッドは過去ログ倉庫に格納されています