Als «c++» getaggte Fragen

98
std :: string zum schweben oder verdoppeln

Ich versuche zu konvertieren std::stringzu float/double. Ich habe es versucht: std::string num = "0.6"; double temp = (double)atof(num.c_str()); Aber es gibt immer Null zurück. Irgendwelche anderen

98
Soll ich von std :: exception erben?

Ich habe gesehen, dass mindestens eine zuverlässige Quelle (eine von mir verwendete C ++ - Klasse) empfohlen hat, von anwendungsspezifischen Ausnahmeklassen in C ++ zu erben std::exception. Die Vorteile dieses Ansatzes sind mir nicht klar. In C # liegen die Gründe für das Erben auf der...

98
(Wie) kann ich die Elemente in einer Aufzählung zählen?

Diese Frage kam mir in den Sinn, als ich so etwas hatte enum Folders {FA, FB, FC}; und wollte ein Array von Containern für jeden Ordner erstellen: ContainerClass*m_containers[3]; .... m_containers[FA] = ...; // etc. (Verwenden von Karten ist es viel eleganter zu verwenden: std::map<Folders,...

98
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 << a++ << 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
Sind Ausnahmen in C ++ wirklich langsam?

Ich habe die systematische Fehlerbehandlung in C ++ beobachtet - Andrei Alexandrescu behauptet, dass Ausnahmen in C ++ sehr, sehr langsam sind. Gilt das noch für C ++

98
Warum kopieren wir dann umziehen?

Ich habe irgendwo Code gesehen, in dem jemand beschlossen hat, ein Objekt zu kopieren und es anschließend in ein Datenelement einer Klasse zu verschieben. Dies ließ mich insofern verwirrt, als ich dachte, der springende Punkt beim Bewegen sei, das Kopieren zu vermeiden. Hier ist das Beispiel:...

98
Warum ist vector <bool> kein STL-Container?

Punkt 18 von Scott Meyers 'Buch Effective STL: 50 Spezifische Möglichkeiten zur Verbesserung Ihrer Verwendung der Standardvorlagenbibliothek sollten vermieden werden , vector <bool>da es sich nicht um einen STL-Container handelt und nicht wirklich bools enthält. Der folgende Code: vector...

98
Wie ist die std :: Funktion implementiert?

Gemäß den Quellen, die ich gefunden habe, wird ein Lambda-Ausdruck im Wesentlichen vom Compiler implementiert, der eine Klasse mit überladenem Funktionsaufrufoperator und den referenzierten Variablen als Mitglieder erstellt. Dies deutet darauf hin, dass die Größe der Lambda-Ausdrücke variiert und...