teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

語句を修正

2018/08/21 05:26

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -18,4 +18,4 @@
18
18
  ```C
19
19
     const char * const * const ptr = ???;
20
20
  ```
21
- どの const が、どこを書き変えないか、手を動かして調べてみたら良いと思います。
21
+ どの const が、どこをREAD-ONLYにするか、手を動かして調べてみたら良いと思います。

1

てにをは修正

2018/08/21 05:26

投稿

rubato6809
rubato6809

スコア1382

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  > constポインタなるものを見てどのような仕組みなんだと
2
2
 
3
- ポインタ自体、或いは生成された機械語自体に、特別な「仕組み」あるのではなく、書き変えてはいけない・書き変えられない場所、READ-ONLYな場所を、プログラムが書き変えようとしていたら、**コンパイルエラーとして検出できる**事が仕組みに相当すると思います。コンパイルが通らなければ、やっちゃいけないこと・危険なことを実行しないで済みますから。
3
+ ポインタ自体、或いは生成された機械語自体に、特別な「仕組み」あるのではなく、書き変えてはいけない・書き変えられない場所、READ-ONLYな場所を、プログラムが書き変えようとしていたら、**コンパイルエラーとして検出できる**事が仕組みに相当すると思います。コンパイルが通らなければ、やっちゃいけないこと・危険なことを実行しないで済みますから。
4
4
 
5
5
  なので、**プログラムのミスを減らし、安全性を担保する**ことが存在理由だと思います。const が適切に使われているプログラムは信頼性が高いだろう、というわけです。
6
6