Als «c++-faq» getaggte Fragen

Bietet eine kollaborative, von der Community bearbeitete C ++ - FAQ



4
Was sind transparente Komparatoren?
In C ++ 14 scheinen sich assoziative Container von C ++ 11 geändert zu haben - [assoziativ.reqmts] / 13 sagt: Die Mitgliedsfunktionsschablonen find, count, lower_bound, upper_bound, und equal_rangedarf nicht in die Überladungsauflösung teilnehmen , es sei denn die Art Compare::is_transparentvorhanden ist . Was ist der Zweck, einen Komparator "transparent" zu …
106 c++  c++14  c++-faq 



4
Was ist die richtige Antwort für cout << a ++ << a;?
Kürzlich gab es in einem Interview eine folgende objektive Frage. int a = 0; cout &lt;&lt; a++ &lt;&lt; a; Antworten: ein. 10 b. 01 c. undefiniertes Verhalten Ich antwortete auf Wahl b, dh die Ausgabe wäre "01". Zu meiner Überraschung wurde mir später von einem Interviewer gesagt, dass die richtige …
98 c++  c++-faq 

17
Was ist der Punkt von Funktionszeigern?
Ich habe Probleme, die Nützlichkeit von Funktionszeigern zu erkennen. Ich denke, es kann in einigen Fällen nützlich sein (sie existieren schließlich), aber ich kann mir keinen Fall vorstellen, in dem es besser oder unvermeidlich ist, einen Funktionszeiger zu verwenden. Können Sie ein Beispiel für die gute Verwendung von Funktionszeigern (in …
94 c++  c  function  pointers  c++-faq 

16
Best Practices für Circular Shift (Rotation) -Operationen in C ++
Links- und Rechtsverschiebungsoperatoren (&lt;&lt; und &gt;&gt;) sind in C ++ bereits verfügbar. Ich konnte jedoch nicht herausfinden, wie ich Kreisverschiebungs- oder Rotationsvorgänge ausführen konnte. Wie können Operationen wie "Nach links drehen" und "Nach rechts drehen" ausgeführt werden? Hier zweimal nach rechts drehen Initial --&gt; 1000 0011 0100 0010 sollte führen …

2
Wann wirken sich zusätzliche Klammern anders als auf die Priorität des Operators aus?
Klammern in C ++ werden an vielen Stellen verwendet: z. B. in Funktionsaufrufen und Gruppierungsausdrücken, um die Priorität von Operatoren zu überschreiben. Abgesehen von illegalen zusätzlichen Klammern (wie z. B. Argumentlisten für Funktionsaufrufe) ist eine allgemeine, aber nicht absolute Regel von C ++, dass zusätzliche Klammern niemals schaden : 5.1 …


3
Was genau ist die Als-ob-Regel?
Wie der Titel sagt, Was genau ist die "Als ob" -Regel? Eine typische Antwort wäre: Die Regel, die alle Codetransformationen zulässt, die das beobachtbare Verhalten des Programms nicht ändern Von Zeit zu Zeit erhalten wir Verhaltensweisen von bestimmten Implementierungen, die dieser Regel zugeordnet sind. Viele Male falsch. Also, was genau …
88 c++  c  optimization  c++-faq  as-if 



5
Gemeinsame Zeiger als Argumente übergeben
Wenn ich ein Objekt deklariere, das in einen gemeinsamen Zeiger eingeschlossen ist: std::shared_ptr&lt;myClass&gt; myClassObject(new myClass()); dann wollte ich es als Argument an eine Methode übergeben: DoSomething(myClassObject); //the called method void DoSomething(std::shared_ptr&lt;myClass&gt; arg1) { arg1-&gt;someField = 4; } Erhöht das oben Gesagte einfach die Referenzanzahl von shared_pt und alles ist cool? …

2
gcc / g ++: "Keine solche Datei oder kein solches Verzeichnis"
g++ gibt mir Fehler der Form: foo.cc:&lt;line&gt;:&lt;column&gt;: fatal error: &lt;bar&gt;: No such file or directory compilation terminated. Dies gilt auch für das Kompilieren von C-Programmen mit gcc. Warum ist das so? Bitte beachten Sie: Diese Frage wurde schon oft gestellt, aber jedes Mal war sie spezifisch für die Situation des …
87 c++  c  gcc  g++  c++-faq 

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.