Zwei mal const?
-
Moins,
bin gerade über folgendes Konstrukt gestolpert:
void processingInstruction ( const XMLCh* const target , const XMLCh* const data );Ich frage mich, warum hier zwei mal "const" steht.
Hat jemand ne Idee?Gruß,
Peter
-
Das ist ein konstanter Zeiger auf ein konstantes Objekt vom Typ XMLCh.Dh sowohl der Zeiger als auch das Objekt auf das der Zeiger zeigt sind unveränderlich.
-
Mal eine schnelle Antwort von mir (haben hier schon Andere schöner beantwortet, finde ich aber gerade nicht):
MyTyp t; // (0) t kann verändert werden MyTyp const t; // (1) t kann nicht verändert werden const MyTyp t; // (1*) = (1) MyTyp* t; // (2) t zeigt auf ein MyTyp-Objekt; man kann sowohl das Objekt ändern als auch wechseln MyTyp const * t; // (3) t zeigt auf ein MyTyp-Objekt; man kann das Objekt wechseln, aber das Objekt, auf das t zeigt, nicht ändern const MyTyp * t; // (3* ) = (3) MyTyp * const t; // (4) t zeigt auf ein MyTyp-Objekt; man kann das Objekt NICHT wechseln, aber das Objekt, auf das t zeigt, ändern MyTyp const * const t; // (5) = (3) & (4): nicht wechseln, nicht ändern const MyTyp * const t; // (5*) = (5)Gruß,
Simon2.
-
Simon2 schrieb:
Mal eine schnelle Antwort von mir (haben hier schon Andere schöner beantwortet, finde ich aber gerade nicht):
Vor allem haben es andere teilweise auch mehrfach gepostet, weil sie ihren alten Post nicht auf die schnelle gefunden haben

Ergänzung um Referenzen:
MyTyp const & t; // (6) t kann nicht verändert werden const MyTyp & t; // (6*) = (6)cu André
-
merci beaucoup euch allen
