Was ist in C++ der Unterschied zwischen char const *ptr=&ch;
et const char *ptr=&ch;
Antworten
Zu viele Anzeigen?Andere Antworten haben sich mit der technischen Lösung befasst - Ihre beiden Beispiele sind die gleichen.
Viele Menschen ziehen es vor, von rechts nach links zu lesen, wenn es um const
in C++. Im Englischen denken wir gerne an eine Konstante X, während C++ gerne ein X const parst. Wenn man von rechts nach links liest, erhält man ein englischeres Ergebnis.
Ein ziemlich extremes Beispiel:
C const * bar(A * const, B const * const) const;
Von rechts nach links liest sich dies wie "Eine konstante Funktion bar
die als Parameter einen konstanten Zeiger auf eine A
und einen konstanten Zeiger auf eine Konstante B
und liefert einen Zeiger auf eine Konstante C
'. Beachten Sie, dass alle drei Arten von Zeigern unterschiedlich sind.
char const *ptr=&ch;
y const char *ptr=&ch;
bedeutet, dass char konstant ist, während der Zeiger variabel ist (oder geändert werden kann).
Aber im Falle von char * const ptr
Sie können den Zeiger nicht neu zuweisen, wenn Sie ihn einmal gesetzt haben, also ist er ein konstanter Zeiger auf eine Zeichenfolge.
1 Stimmen
Es gibt keinen Unterschied, für weitere Informationen : duramecho.com/ComputerInformation/WarumCppConst.html
1 Stimmen
Mögliche Duplikate von stackoverflow.com/questions/2211954/