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.

4
Wie überprüfe ich den Typ eines Vorlagenparameters?
Angenommen, ich habe eine Vorlagenfunktion und zwei Klassen class animal { } class person { } template<class T> void foo() { if (T is animal) { kill(); } } Wie überprüfe ich, ob T ein Tier ist? Ich möchte nichts haben, das während der Laufzeit überprüft wird. Vielen Dank
91 c++  templates 

5
Wie wird die Präferenz des Bibliothekspfads angegeben?
Ich kompiliere ein C ++ - Programm mit g++und ld. Ich habe eine .soBibliothek, die ich beim Verknüpfen verwenden möchte. Es besteht jedoch eine Bibliothek mit dem gleichen Namen in /usr/local/lib, und ldist die Wahl , dass die Bibliothek über das, was ich direkt spezifizieren bin. Wie kann ich das …
91 c++  linker  g++ 


6
Löschen eines Zeigers in C ++
Kontext: Ich versuche, meinen Kopf um Zeiger zu wickeln. Wir haben sie erst vor ein paar Wochen in der Schule gesehen und als ich heute übte, bin ich auf einen Dummkopf gestoßen. Problem, es kann für Sie sehr einfach sein, aber ich habe wenig bis gar keine Programmiererfahrung. Ich habe …


4
Wie deklariere ich std :: unique_ptr und wozu dient es?
Ich versuche zu verstehen, wie es std::unique_ptrfunktioniert und dafür habe ich dieses Dokument gefunden. Der Autor geht von folgendem Beispiel aus: #include <utility> //declarations of unique_ptr using std::unique_ptr; // default construction unique_ptr<int> up; //creates an empty object // initialize with an argument unique_ptr<int> uptr (new int(3)); double *pd= new double; …
91 c++  pointers  std  unique-ptr 

11
C ++ Tuple vs Struct
Gibt es einen Unterschied zwischen der Verwendung von a std::tupleund nur Daten struct? typedef std::tuple<int, double, bool> foo_t; struct bar_t { int id; double value; bool dirty; } Nach dem, was ich online gefunden habe, habe ich festgestellt, dass es zwei Hauptunterschiede gibt: Der structist besser lesbar, während der tupleviele …
91 c++  struct  tuples 

12
Platzierung des Sternchens in Zeigerdeklarationen
Ich habe kürzlich beschlossen, dass ich nur endlich C / C ++ lernen muss, und es gibt eine Sache, die ich über Zeiger oder genauer ihre Definition nicht wirklich verstehe. Wie wäre es mit diesen Beispielen: int* test; int *test; int * test; int* test,test2; int *test,test2; int * test,test2; …
90 c++  c  pointers  declaration 

10
if-Anweisung - Kurzschlussbewertung vs. Lesbarkeit
Manchmal kann eine ifAnweisung ziemlich kompliziert oder lang sein. Aus Gründen der Lesbarkeit ist es daher besser, komplizierte Aufrufe vor dem zu extrahieren if. zB das: if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall()) { // do stuff } das mögen bool b1 = SomeComplicatedFunctionCall(); bool b2 = OtherComplicatedFunctionCall(); if (b1 || b2) { …





2
Was ist das (( ))?
Beim Durchsuchen des Quellcodes des gcc-Compilers (gcc / c-family / c-pragma.c) sehe ich: typedef struct GTY(()) align_stack { int alignment; tree id; struct align_stack * prev; } align_stack; und unabhängig davon, ob ich viele Jahre C-Programmierung hinter mir habe, sind diese Teile (())mir noch völlig unbekannt. Kann jemand bitte erklären, …
90 c++  c 

2
Warum verwendet std :: stack standardmäßig std :: deque?
Da die einzigen Operationen, die erforderlich sind, damit ein Container in einem Stapel verwendet werden kann, folgende sind: zurück() push_back () Pop zurück() Warum ist der Standardcontainer dafür eine Deque anstelle eines Vektors? Geben Deque-Neuzuweisungen nicht einen Puffer mit Elementen vor front () an, sodass push_front () eine effiziente Operation …
90 c++  stl  containers 

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.