const char * const versus const char * in C
Bei der Untersuchung von Code, der konstante Zeichenzeiger verwendet, stellt sich häufig die Frage: Warum const char verwenden? * const über const char *? Lassen Sie uns dies anhand eines Beispielcodes untersuchen:
<code class="cpp">void print_string(const char * the_string) { cout << the_string << endl; } int main () { print_string("What's up?"); }</code>
Hier ergeben sich zwei Optionen für den Parameter für print_string: const char * und const char * const. Der Unterschied zwischen ihnen liegt in ihrer Zeigerveränderlichkeit.
Warum funktionieren beide Optionen? in der Praxis funktionieren? Im Beispiel wird weder der String noch der Zeiger in print_string geändert. Die Relevanz von const char * ergibt sich, wenn versucht wird, die Zeichenfolge, auf die verwiesen wird, zu ändern.
Berücksichtigen Sie die folgenden Variationen:
Im bereitgestellten Beispiel wäre const char * const eine geeignetere Wahl, um eine unbeabsichtigte Änderung von the_string in print_string zu verhindern. Es dient als zusätzlicher Schutz vor möglichen Fehlern.
Das obige ist der detaillierte Inhalt vonWarum sollte man in C „const char * const' anstelle von „const char *' wählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!