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.


21
Rückgabe mehrerer Werte aus einer C ++ - Funktion
Gibt es eine bevorzugte Möglichkeit, mehrere Werte von einer C ++ - Funktion zurückzugeben? Stellen Sie sich zum Beispiel eine Funktion vor, die zwei ganze Zahlen teilt und sowohl den Quotienten als auch den Rest zurückgibt. Eine Möglichkeit, die ich häufig sehe, ist die Verwendung von Referenzparametern: void divide(int dividend, …
242 c++ 

5
So fügen Sie Include-Verzeichnisse mit CMake richtig hinzu
Vor ungefähr einem Jahr habe ich nach Header-Abhängigkeiten in CMake gefragt . Ich habe kürzlich festgestellt, dass das Problem darin zu bestehen schien, dass CMake diese Header-Dateien als außerhalb des Projekts liegend ansah . Zumindest beim Generieren eines Code :: Blocks-Projekts werden die Header-Dateien nicht im Projekt angezeigt (die Quelldateien). …
242 c++  ubuntu  cmake 

6
Warum werden unbenannte Namespaces verwendet und welche Vorteile haben sie?
Ich bin gerade einem neuen C ++ - Softwareprojekt beigetreten und versuche, das Design zu verstehen. Das Projekt verwendet häufig unbenannte Namespaces. So etwas kann beispielsweise in einer Klassendefinitionsdatei vorkommen: // newusertype.cc namespace { const int SIZE_OF_ARRAY_X; const int SIZE_OF_ARRAY_Y; bool getState(userType*,otherUserType*); } newusertype::newusertype(...) {... Welche Entwurfsüberlegungen können dazu führen, …
242 c++  oop  namespaces 

4
(-2147483648> 0) gibt in C ++ true zurück?
-2147483648 ist die kleinste Ganzzahl für den Ganzzahltyp mit 32 Bit, aber es scheint, dass sie im if(...)Satz überläuft : if (-2147483648 > 0) std::cout << "true"; else std::cout << "false"; Dies wird truein meinen Tests gedruckt . Wenn wir jedoch -2147483648 in eine Ganzzahl umwandeln, ist das Ergebnis anders: …


21
Wie überprüfe ich, ob ein C ++ std :: string mit einem bestimmten String beginnt, und konvertiere einen Teilstring in einen int?
Wie implementiere ich Folgendes (Python-Pseudocode) in C ++? if argv[1].startswith('--foo='): foo_value = int(argv[1][len('--foo='):]) (Wenn beispielsweise argv[1]ist --foo=98, dann foo_valueist 98.) Update: Ich zögere, mich mit Boost zu befassen, da ich nur eine sehr kleine Änderung an einem einfachen kleinen Befehlszeilentool vornehmen möchte (ich möchte lieber nicht lernen, wie man Boost …


12
Schreiben einer Binärdatei in C ++ sehr schnell
Ich versuche, große Datenmengen auf meine SSD (Solid State Drive) zu schreiben. Und mit riesigen Mengen meine ich 80 GB. Ich habe im Internet nach Lösungen gesucht, aber das Beste, was ich mir ausgedacht habe, war Folgendes: #include <fstream> const unsigned long long size = 64ULL*1024ULL*1024ULL; unsigned long long a[size]; …

6
Wie implementiere ich benutzerdefinierte Iteratoren und const_iterators korrekt?
Ich habe eine benutzerdefinierte Containerklasse, für die ich die Klassen iteratorund schreiben möchte const_iterator. Ich habe das noch nie gemacht und keine passende Anleitung gefunden. Was sind die Richtlinien für die Erstellung von Iteratoren und worauf sollte ich achten? Ich möchte auch Code-Duplikate vermeiden (ich fühle das const_iteratorund iteratorteile viele …

10
Wie fasse ich Elemente eines C ++ - Vektors zusammen?
Was sind die guten Möglichkeiten, um die Summe aller Elemente in a zu finden std::vector? Angenommen, ich habe einen Vektor std::vector<int> vectormit einigen Elementen. Jetzt möchte ich die Summe aller Elemente finden. Was sind die verschiedenen Möglichkeiten für das gleiche?
240 c++  stl  vector 




12
Können Sie Elemente aus einer std :: -Liste entfernen, während Sie sie durchlaufen?
Ich habe Code, der so aussieht: for (std::list<item*>::iterator i=items.begin();i!=items.end();i++) { bool isActive = (*i)->update(); //if (!isActive) // items.remove(*i); //else other_code_involving(*i); } items.remove_if(CheckItemNotActive); Ich möchte inaktive Elemente sofort nach dem Aktualisieren entfernen, um ein erneutes Durchlaufen der Liste zu vermeiden. Wenn ich jedoch die auskommentierten Zeilen hinzufüge, wird folgende Fehlermeldung i++angezeigt: …
239 c++  list  std 

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.