Ich frage mich warum cbeginund cendwurden in C ++ 11 eingeführt? Was sind Fälle, in denen der Aufruf dieser Methoden einen Unterschied zu konstanten Überladungen von beginund macht
Ich frage mich warum cbeginund cendwurden in C ++ 11 eingeführt? Was sind Fälle, in denen der Aufruf dieser Methoden einen Unterschied zu konstanten Überladungen von beginund macht
Warum genau wird immer empfohlen, const so oft wie möglich zu verwenden? Es scheint mir, dass die Verwendung von const in C ++ eher ein Schmerz als eine Hilfe sein kann. Aber andererseits komme ich aus der Python-Perspektive dazu: Wenn Sie nicht möchten, dass etwas geändert wird, ändern Sie es...
Angenommen, ich habe Code in C mit ungefähr dieser Struktur: switch (something) { case 0: return "blah"; break; case 1: case 4: return "foo"; break; case 2: case 3: return "bar"; break; default: return "foobar"; break; } Natürlich sind die breaks nicht notwendig, damit der Code...
Ich habe mehrfach gelesen, dass das Erzwingen der Konstantenkorrektheit in Ihrem C- oder C ++ - Code nicht nur eine gute Praxis in Bezug auf die Wartbarkeit ist, sondern auch Ihrem Compiler ermöglicht, Optimierungen durchzuführen. Ich habe jedoch auch das genaue Gegenteil gelesen - dass es die...
Der Punkt der Konstantenkorrektheit besteht darin, eine Ansicht einer Instanz bereitstellen zu können, die vom Benutzer nicht geändert oder gelöscht werden kann. Der Compiler unterstützt dies, indem er darauf hinweist, wenn Sie die Konstanz innerhalb einer const-Funktion aufheben oder versuchen,...
Ich weiß, dass es die Lesbarkeit verbessert und das Programm weniger fehleranfällig macht, aber um wie viel verbessert es die Leistung? Und was ist der Hauptunterschied zwischen einer Referenz und einem constZeiger? Ich würde annehmen, dass sie anders im Speicher gespeichert sind, aber wie?...
Angenommen, ich habe einen aufrufbaren Typ wie folgt: struct mutable_callable { int my_mutable = 0; int operator()() { // Not const return my_mutable++; } }; Beachten Sie, dass mutable_callablees eine Nicht-Konstante gibt operator(), die eine Mitgliedsvariable ändert ..... Angenommen, ich...
Ich habe einen Wrapper für einen alten Code. class A{ L* impl_; // the legacy object has to be in the heap, could be also unique_ptr A(A const&) = delete; L* duplicate(){L* ret; legacy_duplicate(impl_, &L); return ret;} ... // proper resource management here }; In diesem Legacy-Code ist die...