関数パラメータとしての定数: 'const int' と 'int const'
C では、一見類似した const int のパラメータ宣言
次の関数について考えてみましょう。
<code class="c++">int testfunc1(const int a) { return a; } int testfunc2(int const a) { return a; }</code>
違いを理解するには、宣言を右から左に読むと役立ちます。
const int a = 1; // "a is an integer which is constant" int const a = 1; // "a is a constant integer"
どちらの場合も、 a は関数内で変更できない定数値を表します。ただし、キーワードの順序によって、定数が型を定義するか変数を定義するかが決まります。
したがって、これら 2 つの関数は互換性がありません。 testfunc1 では、a の値は予期しない変更から保護されていますが、testfunc2 では値と型の両方が不変です。
この区別は、次のようなより複雑な宣言で特に重要になります。
<code class="c++">const char *s; // "s is a pointer to a char that is constant" char c; char *const t = &c; // "t is a constant pointer to a char"</code>
宣言を逆から読むと、次のことがわかります。
キーワードの順序におけるこの区別により、関数内でのデータの処理方法をきめ細かく制御でき、コードの明瞭さと予測可能な動作の両方。
以上がC 関数のパラメータ: `const int` と `int const` の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。