[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/12 01:51 / Filesize : 317 KB / Number-of Response : 1019
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け 147



638 名前:デフォルトの名無しさん mailto:sage [2018/09/02(日) 15:19:58.46 ID:mdI4MGys.net]
>>627
const の役割はその通り、その値を書き換えないことを意思表示するためのもの。
strcpy の引数なんかを見ても分かると思うけど、このように使い分けするだけで関数の入出力もよくわかる。
ケアレスミスで入出力を逆に書いてもコンパイラが指摘してくれる確率が上がるし、コンパイラにとっても最適化のヒントになってる。

でも実際、const皆無のコードも珍しくない。
そんな所に自分だけ const 付けると、余所の関数を呼ぶために意味不明なキャストをするハメになってストレスMAXになる。
ただ厳密に考え出すと、値受けの引数 int x なんかは const int x であるべきでは?なんて思うけど、個人的にはそこまで強要はしなくてもいいかな… なんて思う。
でもポインタ受けの引数 char* p なんかは const char* p にすることを強要したい。
前者について緩いのは、その const はその関数の中の実装を縛るものであり、そんなことは関数の外の世界の人にとってあまり重要ではないから、というのが理由。






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<317KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef