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.


14
Rekursive Lambda-Funktionen in C ++ 11
Ich bin neu in C ++ 11. Ich schreibe die folgende rekursive Lambda-Funktion, aber sie wird nicht kompiliert. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { …
143 c++  c++11  lambda 

2
Bedeutung des Flag -pthread beim Kompilieren
In verschiedenen Multithread-C- und C ++ - Projekten habe ich gesehen, dass das -pthreadFlag sowohl auf die Kompilierungs- als auch auf die Verknüpfungsphase angewendet wurde, während andere es überhaupt nicht verwenden und einfach -lpthreadauf die Verknüpfungsphase übergehen . Besteht die Gefahr, nicht mit der -pthreadFlagge zu kompilieren und zu verknüpfen …
143 c++  c  linux  pthreads 

9
Gibt es eine Möglichkeit, Objekte aus einer Zeichenfolge zu instanziieren, die ihren Klassennamen enthält?
Ich habe eine Datei: Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ und eine andere Datei: BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") …

13
Fehler LNK2019: ungelöstes externes Symbol _WinMain @ 16, auf das in der Funktion ___tmainCRTStartup verwiesen wird
Während ich den folgenden einfachen Code ausführe, treten zwei Fehler auf: #include <iostream> #include <string> using namespace::std; template <class Type> class Stack { public: Stack (int max):stack(new Type[max]), top(-1), maxsize(max){} ~Stack (void) {delete []stack;} void Push (Type &val); void Pop (void) {if (top>=0) --top;} Type& Top (void) {return stack[top];} //friend …


6
_DEBUG vs NDEBUG
Welche Präprozessordefinition sollte verwendet werden, um Debug-Codeabschnitte anzugeben? Verwenden Sie #ifdef _DEBUGoder #ifndef NDEBUGoder gibt es einen besseren Weg, um es zu tun, z #define MY_DEBUG. Ich denke, _DEBUGist Visual Studio spezifisch, ist NDEBUG Standard?
142 c++  c  debugging 

6
Warum wird Ungleichung in vielen C ++ - Standardbibliothekscodes als (! (A == b)) getestet?
Dies ist der Code aus dem C ++ - Standardbibliothekscode remove. Warum wird Ungleichheit als if (!(*first == val))statt getestet if (*first != val)? template <class ForwardIterator, class T> ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val) { ForwardIterator result = first; while (first!=last) { if (!(*first == val)) …
142 c++ 

4
Ist Pass-by-Value in C ++ 11 ein vernünftiger Standard?
In herkömmlichem C ++ ist die Übergabe von Werten an Funktionen und Methoden für große Objekte langsam und wird im Allgemeinen verpönt. Stattdessen neigen C ++ - Programmierer dazu, Referenzen weiterzugeben, was schneller ist, aber alle möglichen komplizierten Fragen zum Besitz und insbesondere zur Speicherverwaltung aufwirft (falls das Objekt Heap-zugewiesen …
142 c++  coding-style  c++11 

16
C ++ Redefinition-Header-Dateien (winsock2.h)
Wie verhindere ich, dass Header-Dateien zweimal eingefügt werden? Das Problem ist, ich schließe diein MyClass.h und dann füge ich MyClass.h in viele Dateien ein, so dass es mehrmals enthält und ein Neudefinitionsfehler auftritt. Wie man etwas vorbeugt? Ich benutze #pragma einmal, anstatt Wachen einzuschließen, und ich denke, das ist in …
142 c++  header  redefinition 


4
Definieren Sie die statische Methode in der Quelldatei mit der Deklaration in der Header-Datei in C ++
Ich habe ein kleines Problem mit statischen Methoden in C ++ Beispiel .h: class IC_Utility { public: IC_Utility(); ~IC_Utility(); std::string CP_PStringToString( const unsigned char *outString ); void CP_StringToPString( std::string& inString, unsigned char *outString, short inMaxLength ); static void CP_StringToPString( std::string& inString, unsigned char *outString); void CP_StringToPString( FxString& inString, FxUChar *outString); …

5
Boost Statechart vs. Meta State Machine
Anscheinend enthält boost zwei separate Bibliotheken für Zustandsautomaten: Statechart und Meta State Machine (MSM). Die Slogans geben sehr ähnliche Beschreibungen: Boost.Statechart - Beliebig komplexe Finite-State-Maschinen können in leicht lesbarem und wartbarem C ++ - Code implementiert werden. Meta State Machine - Eine sehr leistungsstarke Bibliothek für ausdrucksstarke UML2-Finite-State-Maschinen. Wissen Sie, …

7
Konstruktoren in c ++ ohne neue aufrufen
Ich habe oft gesehen, dass Leute Objekte in C ++ mit erstellen Thing myThing("asdf"); An Stelle von: Thing myThing = Thing("asdf"); Dies scheint zu funktionieren (mit gcc), zumindest solange keine Vorlagen beteiligt sind. Meine Frage ist jetzt, ist die erste Zeile richtig und wenn ja, sollte ich sie verwenden?
142 c++ 


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.