const char * const と const char * in C
定数文字ポインターを使用するコードを調べるときに、なぜ const char を使用するのかというよくある質問が生じます。 * const char * よりも const ですか?コード例を使用してこれを調べてみましょう。
<code class="cpp">void print_string(const char * the_string) { cout << the_string << endl; } int main () { print_string("What's up?"); }</code>
ここでは、print_string のパラメータに 2 つのオプション (const char * と const char * const) が生じます。両者の違いは、ポインタの可変性です。
両方のオプションが変更されるのはなぜですか実際に働きますか?この例では、文字列もポインタも print_string で変更されていません。 const char * の関連性は、指す文字列を変更しようとするときに発生します。
次のバリエーションを考えてみましょう:
提供された例では、print_string 内の the_string の意図しない変更を防ぐために、 const char * const がより適切な選択となります。これは、潜在的なエラーに対する追加の保護手段として機能します。
以上がC で「const char *」ではなく「const char * const」を選択する理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。