5

私は「定数」が大好きです。「constであるべき」すべての変数とメソッドが「const」であることを願っています。問題は、変数またはメソッドが「const であるべき」かどうかが、呼び出しツリーのさらに下にあるメソッド/変数に依存することです。コードの本体を静的に調べて「ボトムアップの en-const-ification」を行うためのツールまたはプロセスはありますか?

4

2 に答える 2

6

あなたの質問に対する答えはわかりませんが、その主張に反論したいと思います。

変数またはメソッドが「const であるべき」かどうかは、呼び出しツリーのさらに下にあるメソッド/変数に依存します

実際には、const は論理レベルにある必要があります。つまり、論理的に変更しない場合は const とマークする必要があります。遅い場合は、コンパイラ エラーが発生し、変更の事実または最初の仮定のいずれかを再検討する必要があります。

ルールは次のとおりです。

何かが const である場合、それは変更されるべきではありません

それよりも

何かが事実上変更されていない場合は、それを const にしましょう

于 2013-05-24T14:47:03.243 に答える