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.

3
Verfall des statischen Schlüsselworts… nicht mehr?
In C ++ ist es möglich, das staticSchlüsselwort innerhalb einer Übersetzungseinheit zu verwenden, um die Sichtbarkeit eines Symbols (entweder Variablen- oder Funktionsdeklaration) zu beeinflussen. In n3092 war dies veraltet: Anhang D.2 [depl.static] Die Verwendung des statischen Schlüsselworts ist veraltet, wenn Objekte im Namespace-Bereich deklariert werden (siehe 3.3.6). In n3225 wurde …
87 c++  static  c++11  standards 

5
Was sind die richtigen Linkoptionen, um std :: thread in GCC unter Linux zu verwenden?
Hallo, ich versuche std::threadmit G ++ zu verwenden. Hier ist mein Testcode #include <thread> #include <iostream> int main(int, char **){ std::thread tt([](){ std::cout<<"Thread!"<<std::endl; }); tt.join(); } Es wird kompiliert, aber wenn ich versuche, es auszuführen, ist das Ergebnis: terminate called after throwing an instance of 'std::system_error' what(): Operation not permitted …



12
Ist TCHAR noch relevant?
Ich bin neu in der Windows-Programmierung und nachdem ich das Petzold-Buch gelesen habe, frage ich mich: Ist es immer noch eine gute Praxis, den TCHARTyp und die _T()Funktion zum Deklarieren von Zeichenfolgen zu verwenden, oder sollte ich nur die Zeichenfolgen wchar_tund L""in neuem Code verwenden? Ich werde nur auf Windows …
87 c++  c  windows  unicode  wchar-t 


10
Schwerwiegender Fehler LNK1104: Datei 'libboost_system-vc110-mt-gd-1_51.lib' kann nicht geöffnet werden.
Anscheinend kann ich das nicht zum Laufen bringen. Ich habe eine einfache Konsolenanwendung (die von der websocket++Bibliothek abhängt ) erstellt, die BoostBibliotheken benötigt . Aber wenn ich versuche zu kompilieren, bekomme ich: Schwerwiegender Fehler LNK1104: Datei 'libboost_system-vc110-mt-gd-1_51.lib' kann nicht geöffnet werden. Ich habe jedoch den bjam erstellt, der die Bibliothek …
87 c++  boost 

4
Rufen Sie eine C-Funktion aus C ++ - Code auf
Ich habe eine C-Funktion, die ich aus C ++ aufrufen möchte. Ich konnte keinen extern "C" void foo()Ansatz verwenden, da die C-Funktion nicht mit g ++ kompiliert werden konnte. Aber es kompiliert gut mit gcc. Irgendwelche Ideen, wie man die Funktion aus C ++ aufruft?
87 c++  c  linux  extern-c 


5
Löschen eines Zeigers auf const (T const *)
Ich habe eine grundlegende Frage zu den const-Zeigern. Ich darf keine Nicht-Const-Member-Funktionen mit einem Const-Zeiger aufrufen. Ich darf dies jedoch mit einem const-Zeiger tun: delete p; Dies ruft den Destruktor der Klasse auf, der im Wesentlichen eine nicht konstante 'Methode' ist. Warum ist das erlaubt? Ist es nur um dies …

6
Warum ist der Operator [] nicht konstant für STL-Karten?
Erfundenes Beispiel für die Frage: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } Dies wird nicht kompiliert, da der Operator [] nicht const ist. Dies ist bedauerlich, da die Syntax [] sehr sauber aussieht. Stattdessen muss ich so etwas tun: void MyClass::MyFunction( int x ) …
87 c++  const 

4
Holen Sie sich das letzte Element eines std :: string
Ich habe mich gefragt, ob es eine Abkürzung oder eine elegantere Methode gibt, um das letzte Zeichen einer Zeichenfolge wie in: char lastChar = myString.at( myString.length() - 1 ); So etwas myString.back()scheint nicht zu existieren. Gibt es ein Äquivalent?
87 c++  string 

9
Gibt es eine legitime Verwendung für void *?
Gibt es eine legitime Verwendung void*in C ++? Oder wurde dies eingeführt, weil C es hatte? Nur um meine Gedanken zusammenzufassen: Eingabe : Wenn wir mehrere Eingabetypen zulassen möchten, können wir Funktionen und Methoden überladen. Alternativ können wir eine gemeinsame Basisklasse oder Vorlage definieren (danke, dass Sie dies in den …
87 c++ 

3
Was ist const void?
Die Beschreibung von std::is_voidbesagt, dass: Gibt den Wert der Elementkonstante an, der gleich true ist, wenn T vom Typ void, const void, volatile void oder const volatile void ist. Was könnte dann sein const voidoder ein volatile void? Diese Antwort besagt, dass der const voidRückgabetyp ungültig wäre (kompiliert jedoch unter …
87 c++  c++11  c++14 


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.