Als «c++» getaggte Fragen

C ++ ist eine universelle Programmiersprache. Es wurde ursprünglich als Erweiterung von C entwickelt und hat eine ähnliche Syntax, ist aber jetzt eine völlig andere Sprache. Verwenden Sie dieses Tag für Fragen zu Code, der mit einem C ++ - Compiler kompiliert werden soll. Verwenden Sie ein versionierungsspezifisches Tag für Fragen zu einer bestimmten Standardversion [C ++ 11], [C ++ 14], [C ++ 17] oder [C ++ 20] usw.

10
Ist das Löschen erlaubt?
Ist es erlaubt, delete this;wenn die delete-Anweisung die letzte Anweisung ist, die auf dieser Instanz der Klasse ausgeführt wird? Natürlich bin ich mir sicher, dass das durch den thisZeiger dargestellte Objekt nur newerstellt wurde. Ich denke über so etwas nach: void SomeModule::doStuff() { // in the controller, "this" object of …

5
Ist Optimierungsstufe -O3 in g ++ gefährlich?
Ich habe aus verschiedenen Quellen gehört (obwohl meistens von einem Kollegen von mir), dass das Kompilieren mit einer Optimierungsstufe von -O3in g ++ irgendwie "gefährlich" ist und generell vermieden werden sollte, es sei denn, dies hat sich als notwendig erwiesen. Ist das wahr und wenn ja, warum? Soll ich mich …

30
Sind Speicherlecks jemals in Ordnung? [geschlossen]
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie mit Fakten und Zitaten beantwortet werden kann, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Verbessere diese Frage Ist es jemals akzeptabel, dass …
231 c++  c  memory-leaks 

15
Wie verwendet man Namespaces in C ++ richtig?
Ich komme aus einem Java-Hintergrund, in dem Pakete verwendet werden, keine Namespaces. Ich bin es gewohnt, Klassen, die zusammenarbeiten, um ein vollständiges Objekt zu bilden, in Pakete zu setzen und sie später aus diesem Paket wiederzuverwenden. Aber jetzt arbeite ich in C ++. Wie verwendet man Namespaces in C ++? …
231 c++  namespaces 

4
Warum sollte ich jemals push_back anstelle von emplace_back verwenden?
C ++ 11-Vektoren haben die neue Funktion emplace_back. Im Gegensatz push_backzu Compiler-Optimierungen, um Kopien zu vermeiden, wird emplace_backdie perfekte Weiterleitung verwendet, um die Argumente direkt an den Konstruktor zu senden und ein Objekt an Ort und Stelle zu erstellen. Es scheint mir, dass emplace_backalles alles push_backkann, aber manchmal wird es …
231 c++  c++11  std 

10
Wie konvertiere ich QString in std :: string?
Ich versuche so etwas zu tun: QString string; // do things... std::cout << string << std::endl; Der Code wird jedoch nicht kompiliert. Wie kann der Inhalt von qstring in die Konsole ausgegeben werden (z. B. zu Debugging-Zwecken oder aus anderen Gründen)? Wie konvertiere ich QStringzu std::string?



10
Können Lambda-Funktionen als Vorlagen verwendet werden?
Gibt es in C ++ 11 eine Möglichkeit, eine Lambda-Funktion vorzulegen? Oder ist es von Natur aus zu spezifisch, um als Vorlage verwendet zu werden? Ich verstehe, dass ich stattdessen eine klassische Klasse / einen klassischen Funktor mit Vorlagen definieren kann, aber die Frage lautet eher: Erlaubt die Sprache das …
229 c++  templates  lambda  c++11 

4
Fehler: Zum Falletikett springen
Ich habe ein Programm geschrieben, das die Verwendung von switch-Anweisungen beinhaltet ... Beim Kompilieren zeigt es jedoch: Fehler: Zum Falletikett springen. Warum macht es das? #include <iostream> #include <cstdlib> #include <fstream> #include <string> using namespace std; class contact { public: string name; int phonenumber; string address; contact() { name= "Noname"; …
229 c++ 




4
Welche Art von Zeiger verwende ich wann?
Ok, das letzte Mal, als ich C ++ für std::auto_ptrmeinen Lebensunterhalt schrieb, war alles, was die Standardbibliothek zur Verfügung hatte, und boost::shared_ptrwar der letzte Schrei. Ich habe mich nie wirklich mit den anderen Boosts für intelligente Zeigertypen befasst. Ich verstehe, dass C ++ 11 jetzt einige der Typen bietet, die …

10
Welche bahnbrechenden Änderungen werden in C ++ 11 eingeführt?
Ich weiß, dass mindestens eine der Änderungen in C ++ 11 dazu führt, dass ein alter Code nicht mehr kompiliert wird: die Einführung explicit operator bool()in die Standardbibliothek, die alte Instanzen von ersetzt operator void*(). Zugegeben, der Code, den dies beschädigen wird, ist wahrscheinlich Code, der eigentlich nicht gültig sein …
227 c++  c++11 

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.