const in Funktionsdeklaration



  • Hallo,

    Wieder ein paar Grundsatzfragen zu Weihnachten! Nun endlich (oder wiedermal) zum Thema "const" - was mir i.Ggs. zu den Zeigern doch deutlich unheimlich vorkommt, v.a. im Zusammenhang mit Funktionen:

    const xy &func(const yz & var) const;
    

    1. Das 1. const (Return-Wert)
    ..sagt aus, dass das Zurueckgegebene Objekt nicht direkt veraendert werden darf. - Richtig?

    2. Das 2. const (Parameter)
    ..sagt, dass man den als Parameter by-Reference uebergebenen (Original-)Wert, in der Funktion nicht direkt veraendern darf. Es ist aber wohl moeglich durch einen Funktionsaufruf dessen eigener Funktionen diesen "umzugestalten". - Richtig?

    3. Das 3. const (Wie nennt man das eigentlich?)
    ..sagt, dass das Objekt dessen Bestandteil diese Funktion ist, nicht ueber diese Methode geaendert wird (?). - Hier ist mehr nur sehr vage klar, wozu ein nachgestelltes "const" eigentlich dient und ich nehme es bisher nur her um "meckernde Compiler" zu besaenftigen. Nur wann meckert der Compiler und wann nicht?

    4. Im allg. kommt mir "const" etwas als Gegenspieler der Pointer vor. Mit Pointern ist es moeglich an verschiedenen Stellen die selbe Variable zu modifizieren. Da das leicht unuebersichtlich werden kann, sollte man es genau ueberwachen und gleichzeitig mit "const" nach den Regeln der "const-correctness" veraendernde Zugriffe eindaemmen, bzw den Zeigern gegensteuern(?) - kann man das so sagen, oder verstehe ich da was Grundsaetzliches voellig falsch? Afaik ist es ja zB moeglich mit Referenzen "const" auch wieder auszuschalten.

    Danke im voraus :xmas2:



  • zu 3.)

    besser wäre lim(sup(|232|phi(R))) mit ln(zeta(const)) (zur Basis e) als Quantenindikator.



  • Das dritte const sagt: Es können keine Datenfelder des Objekts verändert werden, die nicht als mutable definiert worden sind. Heißt dann so viel wie: Wenn eine Memberfunktion const ist, wird durch sie der nach außen sichtbare Zustand nicht verändert.



  • besser wäre lim(sup(|232|phi(R))) mit ln(zeta(const)) (zur Basis e) als Quantenindikator.

    Hää? Was ?? 😃 Troll.


Anmelden zum Antworten