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.

6
Gibt es einen Grund, keine globalen Lambdas zu verwenden?
Wir hatten eine Funktion, die ein nicht erfassendes Lambda in sich selbst verwendete, z. void foo() { auto bar = [](int a, int b){ return a + b; } // code using bar(x,y) a bunch of times } Jetzt wurde die vom Lambda implementierte Funktionalität an anderer Stelle benötigt, sodass …
89 c++  lambda 

8
Ist Python schneller und leichter als C ++? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …

5
Warum hat ein Lambda eine Größe von 1 Byte?
Ich arbeite mit der Erinnerung an einige Lambdas in C ++, aber ich bin ein bisschen verwirrt über ihre Größe. Hier ist mein Testcode: #include <iostream> #include <string> int main() { auto f = [](){ return 17; }; std::cout << f() << std::endl; std::cout << &f << std::endl; std::cout << …
89 c++  c++11  lambda  c++14  sizeof 

3
So erstellen Sie ein bedingtes typedef in C ++
Ich versuche so etwas zu tun: #include <iostream> #include <random> typedef int Integer; #if sizeof(Integer) <= 4 typedef std::mt19937 Engine; #else typedef std::mt19937_64 Engine; #endif int main() { std::cout << sizeof(Integer) << std::endl; return 0; } aber ich bekomme diesen Fehler: error: missing binary operator before token "(" Wie kann …
89 c++  c++11 

9
std :: map insert oder std :: map find?
Angenommen, Sie möchten eine Karte erstellen, in der vorhandene Einträge beibehalten werden sollen. In 20% der Fälle handelt es sich bei dem Eintrag, den Sie einfügen, um neue Daten. Gibt es einen Vorteil, wenn Sie std :: map :: find und dann std :: map :: insert mit diesem zurückgegebenen …
89 c++  optimization  stl  stdmap 


5
Was würde 'std:;' in c ++ tun?
Ich habe kürzlich Code geändert und einen bereits vorhandenen Fehler in einer Zeile innerhalb einer Funktion gefunden: std:;string x = y; Dieser Code wird immer noch kompiliert und funktioniert wie erwartet. Die Zeichenfolgendefinition funktioniert, weil diese Datei vorhanden ist using namespace std;, sodass sie überhaupt nicht std::erforderlich war. Die Frage …
89 c++  std  colon 

2
Warum sollte das Zeichen 'A' mit 0x41 verglichen werden?
Ich habe mir C ++ - Code angesehen und das folgende Konstrukt gefunden: if('A' == 0x41) { // ... } else if('A' == 0xc1) { // ... } else { // ... } Ich erhalte eine Visual Studio- Warnung mit folgenden Worten: Warnung Der bedingte Ausdruck C4127 ist konstant. Visual …
89 c++  string 

2
GNU GCC (g ++): Warum werden mehrere Dtoren generiert?
Entwicklungsumgebung: GNU GCC (g ++) 4.1.2 Während ich versuche zu untersuchen, wie die Codeabdeckung - insbesondere die Funktionsabdeckung - beim Komponententest erhöht werden kann, habe ich festgestellt, dass ein Teil der Klasse dtor anscheinend mehrmals generiert wird. Haben einige von Ihnen eine Idee, warum, bitte? Ich habe versucht und beobachtet, …
89 c++  g++  destructor 

4
Warum kein Standard-Verschiebungszuweisungs- / Verschiebungskonstruktor?
Ich bin ein einfacher Programmierer. Die Variablen meiner Klassenmitglieder bestehen meistens aus POD-Typen und STL-Containern. Aus diesem Grund muss ich selten Zuweisungsoperatoren oder Kopierkonstruktoren schreiben, da diese standardmäßig implementiert sind. Wenn ich std::moveObjekte verwende, die nicht beweglich sind, wird der Zuweisungsoperator verwendet, was bedeutet, dass dies std::moveabsolut sicher ist. Da …

4
Warum ist memmove schneller als memcpy?
Ich untersuche Leistungs-Hotspots in einer Anwendung, die 50% ihrer Zeit in memmove verbringt (3). Die Anwendung fügt Millionen von 4-Byte-Ganzzahlen in sortierte Arrays ein und verschiebt die Daten mithilfe von memmove "nach rechts", um Platz für den eingefügten Wert zu schaffen. Meine Erwartung war, dass das Kopieren von Speicher extrem …
89 c++  c  performance  memory 



8
Welchen STL-Container soll ich für ein FIFO verwenden?
Welcher STL-Container passt am besten zu meinen Anforderungen? Ich habe im Grunde einen 10 Elemente breiten Container, in dem ich ständig push_backneue Elemente pop_fronteinbaue, während ich das älteste Element (ungefähr eine Million Mal) bin . Ich verwende derzeit ein std::dequefür die Aufgabe, habe mich aber gefragt, ob ein std::listeffizienter wäre, …
89 c++  stl  fifo 

12
Wie deklariere ich ein Array von Strings in C ++?
Ich versuche, alle Elemente eines statischen Arrays von Zeichenfolgen bestmöglich zu durchlaufen. Ich möchte in der Lage sein, es in einer Zeile zu deklarieren und Elemente einfach hinzuzufügen / zu entfernen, ohne die Nummer verfolgen zu müssen. Klingt wirklich einfach, nicht wahr? Mögliche Nichtlösungen: vector<string> v; v.push_back("abc"); b.push_back("xyz"); for(int i …
89 c++  arrays 

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.