Als «const» getaggte Fragen

Konstanten in der Programmierung sind Definitionen, deren Wert während der Ausführung eines Programms festgelegt wird. Literale in den meisten Sprachen sind beispielsweise Konstanten. In referenziell transparenten Programmierstilen sind alle Definitionen konstant. Ein const-qualifizierter Datenspeicherbereich (Objekt, Feld, Variable, Parameter) ändert sich "nie" und ermöglicht so zusätzliche Codegeneratoroptimierungen und zusätzliche statische Überprüfung der Programmkorrektheit.



5
Löschen eines Zeigers auf const (T const *)
Ich habe eine grundlegende Frage zu den const-Zeigern. Ich darf keine Nicht-Const-Member-Funktionen mit einem Const-Zeiger aufrufen. Ich darf dies jedoch mit einem const-Zeiger tun: delete p; Dies ruft den Destruktor der Klasse auf, der im Wesentlichen eine nicht konstante 'Methode' ist. Warum ist das erlaubt? Ist es nur um dies …

6
Warum ist der Operator [] nicht konstant für STL-Karten?
Erfundenes Beispiel für die Frage: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } Dies wird nicht kompiliert, da der Operator [] nicht const ist. Dies ist bedauerlich, da die Syntax [] sehr sauber aussieht. Stattdessen muss ich so etwas tun: void MyClass::MyFunction( int x ) …
87 c++  const 



7
const vor dem Parameter vs const nach dem Funktionsnamen c ++
Was ist der Unterschied zwischen so etwas? friend Circle copy(const Circle &); und so ähnlich friend Circle copy(Circle&) const; Ich kenne const, nachdem die Funktion verwendet wurde, um dem Compiler mitzuteilen, dass diese Funktion nicht versucht, das Objekt zu ändern, für das sie aufgerufen wird. Was ist mit dem anderen?
86 c++  function  const 



6
Variabel modifiziertes Array im Dateibereich
Ich möchte ein konstantes statisches Array erstellen, das in meiner Objective-C-Implementierungsdatei verwendet wird, ähnlich wie auf der obersten Ebene meiner ".m" -Datei: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; Ich habe vor, es NUM_TYPESspäter in der Datei zu verwenden, also wollte …

9
Können Parameter konstant sein?
Ich suche das C # -Äquivalent von Java final. Existiert es? Hat C # Folgendes: public Foo(final int bar); Im obigen Beispiel barhandelt es sich um eine schreibgeschützte Variable, die nicht von geändert werden kann Foo(). Gibt es eine Möglichkeit, dies in C # zu tun? Zum Beispiel, vielleicht habe …

3
ECMAScript 2015: const in for-Schleifen
Welches der beiden folgenden Codefragmente (oder keines / beide) sollte in einer vollständigen Implementierung von ECMAScript 2015 funktionieren: for (const e of a) for (const i = 0; i < a.length; i += 1) Nach meinem Verständnis sollte das erste Beispiel funktionieren, da ees für jede Iteration initialisiert wird. Sollte …

5
Warum eine Ausnahme als Verweis auf const abfangen?
Ich habe oft gehört und gelesen, dass es besser ist, eine Ausnahme als Referenz auf const zu fangen, als als Referenz. Warum ist: try { // stuff } catch (const std::exception& e) { // stuff } besser als: try { // stuff } catch (std::exception& e) { // stuff }
83 c++  exception  const 

4
Hat "const auto" eine Bedeutung?
Ich denke, die Frage ist klar genug. Wird das autoSchlüsselwort Konstanz automatisch erkennen oder immer einen Nicht-Konstantentyp zurückgeben, selbst wenn es z. zwei Versionen einer Funktion (eine, die zurückgibt constund die andere, die dies nicht tut). Nur zur Veranschaulichung, ich benutze const auto end = some_container.end()vor meinen for-Schleifen, aber ich …
82 c++  c++11  const 

6
#define vs const in Objective-C
Ich bin neu in Objective-C und habe einige Fragen dazu const und zur Vorverarbeitungsrichtlinie #define. Zunächst stellte ich fest, dass es nicht möglich ist, den Typ der Konstante mit zu definieren #define . Warum ist das so? Zweitens gibt es irgendwelche Vorteile, einen von ihnen gegenüber dem anderen zu verwenden? …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.