Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: FAQ - C (C89, C99 und C11) ::  Konstante Pointer...     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
phreaking
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.01.2002
Beiträge: 399
Beitrag phreaking Mitglied 17:15:00 04.05.2002   Titel:   Konstante Pointer...            Zitieren

Hi!
Also, ich hab gelesen, dass es bei Pointer drei Möglichkeiten gibt, diese mit dem Schlüsselwort const zu deklarieren:
Code:
const int *variable;
int* const variable;
const int* const variable;

Mir ist zwar klar, das sich das Schlüsselwort const hier einmal auf die Pointervariable selbst, und einmal auf die referenzierte Variable bezieht, aber ganz hab ich das noch immer noch nicht begriffen. Vielleicht könnte mir das jemand noch etwas genauer erklären...

greetz, phreaking
Werbeunterbrechung
HumeSikkins
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.08.2000
Beiträge: 11139
Beitrag HumeSikkins Mitglied 17:25:00 04.05.2002   Titel:              Zitieren

Hallo,
lies es von rechts nach links und setze für * Zeiger und danach ein "auf".

->
Code:
const int *variable;         // variable ist ein Zeiger auf int const
int* const variable;         // variable ist ein const Zeiger auf int
const int* const variable;   // variable ist ein const Zeiger auf int const
 
int const * variable;        // variable ist ein Zeiger auf const int
int const * const variable;  // variable ist ein const Zeiger auf const int

_________________
Remember Sturgeon's Law:
"Ninety percent of everything is crap."
and now go visit my Homepage ;-)
SG1
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.03.2001
Beiträge: 3073
Beitrag SG1 Mitglied 17:48:00 04.05.2002   Titel:              Zitieren

Nur nochmal zum verdeutlichen (wobei die Erklärung von Hume ja eigentlich schon gut is): const bezieht sich IMMER auf das, was links davon steht! Von daher ist const int* eigentlich Müll - ist zwar erlaubt, aber zum Verständnis ist int const * besser:
C++:
int const * a;       // a ist ein Zeiger auf ein konstantes int
int * const a;       // a ist ein konstanter Zeiger auf ein int
int const * const a; // a ist ein konstanter Zeiger auf ein konstantes int

Nur wenn links vom Schlüsselwort const nichts / eine öffnende Klammer ist, bezieht es sich auf das, was rechts davon steht.

[ Dieser Beitrag wurde am 04.05.2002 um 21:24 Uhr von SG1 editiert. ]
elise
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.05.2001
Beiträge: 8165
Beitrag elise Mitglied 18:35:00 04.05.2002   Titel:              Zitieren

das hatten wir doch schonmal.. wie wärs mal ins faq??

oder isses da schon...

:)

_________________
There's An App For That
HumeSikkins
Mitglied

Benutzerprofil
Anmeldungsdatum: 30.08.2000
Beiträge: 11139
Beitrag HumeSikkins Mitglied 19:43:00 04.05.2002   Titel:              Zitieren

@SG1
Also entweder bin ich schon wieder besoffen, oder in deinen ersten beiden Beispielen ist der Wurm drin. Die Kommentare sind genau entgegengesetzt zu deiner Erklärung.

_________________
Remember Sturgeon's Law:
"Ninety percent of everything is crap."
and now go visit my Homepage ;-)
SG1
Mitglied

Benutzerprofil
Anmeldungsdatum: 19.03.2001
Beiträge: 3073
Beitrag SG1 Mitglied 20:22:00 04.05.2002   Titel:              Zitieren

ne, muss ich wohl besoffen gewesen sein... *editier*
C++ Forum :: FAQ - C (C89, C99 und C11) ::  Konstante Pointer...   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.