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
Verwenden von {} in einer case-Anweisung. Warum?
Was ist der Sinn bei der Verwendung {und }in einer caseAnweisung? Normalerweise werden casealle Zeilen ausgeführt , unabhängig davon, wie viele Zeilen in einer Anweisung enthalten sind. Ist dies nur eine Regel für ältere / neuere Compiler oder steckt etwas dahinter? int a = 0; switch (a) { case 0:{ …

13
Kann ich in C ++ einen autonomen Selbstmitgliedertyp implementieren?
In C ++ fehlt das Äquivalent zum PHP- selfSchlüsselwort , das den Typ der einschließenden Klasse ergibt. Es ist einfach genug, es pro Klasse zu fälschen: struct Foo { typedef Foo self; }; aber ich musste Foonochmal schreiben . Vielleicht verstehe ich das eines Tages falsch und verursache einen stillen …
101 c++  c++11 

7
Gewichtete Zufallszahlen
Ich versuche, gewichtete Zufallszahlen zu implementieren. Ich schlage gerade meinen Kopf gegen die Wand und kann das nicht herausfinden. In meinem Projekt (Hold'em-Handbereiche, subjektive All-in-Equity-Analyse) verwende ich die Zufallsfunktionen von Boost. Nehmen wir also an, ich möchte eine Zufallszahl zwischen 1 und 3 auswählen (also entweder 1, 2 oder 3). …
101 c++  boost  random 

3
Wie spezialisiere ich std :: hash <Key> :: operator () für benutzerdefinierte Typen in ungeordneten Containern?
Benutzerdefinierte Schlüsseltypen in zu unterstützen std::unordered_set&lt;Key&gt;und std::unordered_map&lt;Key, Value&gt; man hat zu schaffen operator==(Key, Key)und ein Hash Funktors: struct X { int id; /* ... */ }; bool operator==(X a, X b) { return a.id == b.id; } struct MyHash { size_t operator()(const X&amp; x) const { return std::hash&lt;int&gt;()(x.id); } }; …

5
Elemente aus einem Vektor löschen
Ich möchte ein Element mit der Löschmethode aus einem Vektor löschen. Das Problem hierbei ist jedoch, dass das Element nicht garantiert nur einmal im Vektor vorkommt. Es kann mehrmals vorhanden sein und ich muss alle löschen. Mein Code ist ungefähr so: void erase(std::vector&lt;int&gt;&amp; myNumbers_in, int number_in) { std::vector&lt;int&gt;::iterator iter = …
101 c++  vector  stl  erase 

3
Wie erstelle ich eine statische Bibliothek mit g ++?
Kann mir bitte jemand sagen, wie man eine statische Bibliothek aus einer CPP- und einer HPP-Datei erstellt? Muss ich die .o und die .a erstellen? Ich möchte auch wissen, wie ich eine statische Bibliothek kompilieren und in anderem CPP-Code verwenden kann. Ich habe header.cpp, header.hpp .ich möchte erstellen header.a. Testen …


2
Compilerfehler: memset wurde in diesem Bereich nicht deklariert
Ich versuche mein C-Programm in Ubuntu 9.10 (gcc 4.4.1) zu kompilieren. Ich erhalte diesen Fehler: Rect.cpp:344: error: ‘memset’ was not declared in this scope Das Problem ist jedoch, dass ich bereits in meine CPP-Datei aufgenommen habe: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; Und das gleiche Programm kompiliert gut unter Ubuntu 8.04 (gcc …
100 c++  gcc 

8
Ist "else if" ein einzelnes Schlüsselwort?
Ich bin neu in C ++. Ich sehe oft bedingte Aussagen wie folgt: if statement_0; else if statement_1; Frage: Soll ich syntaktischelse if als ein einzelnes Schlüsselwort behandeln? Oder ist es tatsächlich eine verschachtelte ifAnweisung innerhalb des Äußeren elsewie unten? if statement_0; else if statement_1;

19
Was ist der schnellste Weg, um Sünde und Cos zusammen zu berechnen?
Ich möchte sowohl den Sinus als auch den Co-Sinus eines Wertes zusammen berechnen (zum Beispiel um eine Rotationsmatrix zu erstellen). Natürlich könnte ich sie wie nacheinander separat berechnen a = cos(x); b = sin(x);, aber ich frage mich, ob es einen schnelleren Weg gibt, wenn beide Werte benötigt werden. Bearbeiten: …
100 c#  c++  c  algorithm  math 


11
Gleitkomma-Ganzzahl-Berechnungen auf moderner Hardware
Ich mache einige leistungskritische Arbeiten in C ++ und wir verwenden derzeit ganzzahlige Berechnungen für Probleme, die von Natur aus Gleitkommawerte sind, weil "es schneller ist". Dies verursacht eine Menge nerviger Probleme und fügt viel nervigen Code hinzu. Jetzt erinnere ich mich, dass ich gelesen habe, wie langsam Gleitkommaberechnungen ungefähr …

9
Überschreiben Sie virtuelle C ++ - Funktionen sicher
Ich habe eine Basisklasse mit einer virtuellen Funktion und möchte diese Funktion in einer abgeleiteten Klasse überschreiben. Gibt es eine Möglichkeit, den Compiler überprüfen zu lassen, ob die in der abgeleiteten Klasse deklarierte Funktion tatsächlich eine Funktion in der Basisklasse überschreibt? Ich möchte ein Makro oder etwas hinzufügen, das sicherstellt, …

7
Was ist die Lebensdauer von std :: string :: c_str ()?
In einem meiner Programme muss ich mit einem Legacy-Code arbeiten, mit dem funktioniert const char*. Nehmen wir an, ich habe eine Struktur, die so aussieht: struct Foo { const char* server; const char* name; }; Meine übergeordnete Anwendung befasst sich nur mit std::string, daher habe ich darüber nachgedacht std::string::c_str(), const …
100 c++  string  cstring 

3
Ist die Implementierung von gcc std :: unordered_map langsam? Wenn ja warum?
Wir entwickeln eine hochleistungskritische Software in C ++. Dort benötigen wir eine gleichzeitige Hash-Map und implementieren eine. Also haben wir einen Benchmark geschrieben, um herauszufinden, mit wie viel langsamer unsere gleichzeitige Hash-Map verglichen wird std::unordered_map. Aber es std::unordered_mapscheint unglaublich langsam zu sein ... Das ist also unser Mikro-Benchmark (für die …

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.