【初心者歓迎】C/C++室 Ver.102【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
エスケープシーケンスやWin32APIなどの環境依存なものもOK
そのような質問は必ず環境を書きましょう
半角空白やタブでのインデントはスレに貼ると無くなります
コードを貼れる所
http://codepad.org/
https://ideone.com/
前スレ
【初心者歓迎】C/C++室 Ver.101【環境依存OK】
https://mevius.5ch.net/test/read.cgi/tech/1500329247/ void Show(const IntArray& array){
...
}
というような関数内で、 array の const メンバ関数ではないメンバ変数を変更しないメンバ関数を
使っているとコンパイルエラーになりますが、それはなぜでしょうか?
コンパイラーはarrayのメンバ関数がメンバ変数を変更していないことはソースコードから
分かるのではないでしょうか?
そういうチェックをするコンパイラを作るのは難しいからということでしょうか? const メンバ関数の中でメンバ変数の内容を変更しているとコンパイルエラーになります。
ということはどのみちメンバ変数を変更しているかどうかはチェック可能ということですよね? ■ このスレッドは過去ログ倉庫に格納されています