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
Smart Pointer (Boost) erklärt
Was ist der Unterschied zwischen den folgenden Zeigern? Wann verwenden Sie jeden Zeiger im Produktionscode, wenn überhaupt? Beispiele wären willkommen! scoped_ptr shared_ptr weak_ptr intrusive_ptr Verwenden Sie Boost im Produktionscode?

5
Wie füge ich einer CMake-Datei einen Linker oder ein Kompilierungsflag hinzu?
Ich benutze den arm-linux-androideabi-g++Compiler. Wenn ich versuche, ein einfaches "Hallo Welt!" Programm kompiliert es gut. Wenn ich es durch Hinzufügen einer einfachen Ausnahmebehandlung in diesem Code teste, funktioniert es auch (nach dem Hinzufügen -fexceptions.. Ich denke, es ist standardmäßig deaktiviert). Dies ist für ein Android-Gerät und ich möchte nur CMake …
220 c++  cmake 



14
Verwendung von Aufzählungen in C ++
Angenommen, wir haben enumFolgendes: enum Days {Saturday, Sunday, Tuesday, Wednesday, Thursday, Friday}; Ich möchte eine Instanz davon erstellen enumund sie mit einem geeigneten Wert initialisieren, also mache ich: Days day = Days.Saturday; Jetzt möchte ich meine Variable oder Instanz mit einem vorhandenen enumWert überprüfen , also mache ich: if (day …
218 c++  enums 

3
Warum ist das Transponieren einer Matrix von 512 x 512 viel langsamer als das Transponieren einer Matrix von 513 x 513?
Nach einigen Experimenten mit quadratischen Matrizen unterschiedlicher Größe wurde ein Muster erstellt. Das Transponieren einer Größenmatrix 2^nist immer langsamer als das Transponieren einer Größenmatrix2^n+1 . Für kleine Werte vonn ist der Unterschied nicht groß. Große Unterschiede treten jedoch bei einem Wert von 512 auf. (Zumindest für mich) Haftungsausschluss: Ich weiß, …

2
Warum kann ich ein unique_ptr nicht in einen Vektor zurückschieben?
Was ist los mit diesem Programm? #include <memory> #include <vector> int main() { std::vector<std::unique_ptr<int>> vec; int x(1); std::unique_ptr<int> ptr2x(&x); vec.push_back(ptr2x); //This tiny command has a vicious error. return 0; } Der Fehler: In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48, from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64, from main.cpp:6: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const …



3
Warum funktionieren Funktionszeigerdefinitionen mit einer beliebigen Anzahl von kaufmännischen Und-Zeichen '&' oder Sternchen '*'?
Warum arbeiten die folgenden? void foo() { cout << "Foo to you too!\n"; }; int main() { void (*p1_foo)() = foo; void (*p2_foo)() = *foo; void (*p3_foo)() = &foo; void (*p4_foo)() = *&foo; void (*p5_foo)() = &*foo; void (*p6_foo)() = **foo; void (*p7_foo)() = **********************foo; (*p1_foo)(); (*p2_foo)(); (*p3_foo)(); (*p4_foo)(); (*p5_foo)(); …
216 c++  c  function-pointers 

15
C ++ Sortieren und Verfolgen von Indizes
Mit C ++ und hoffentlich der Standardbibliothek möchte ich eine Folge von Samples in aufsteigender Reihenfolge sortieren, aber ich möchte mich auch an die ursprünglichen Indizes der neuen Samples erinnern. Zum Beispiel habe ich eine Menge, einen Vektor oder eine Matrix von Proben A : [5, 2, 1, 4, 3]. …
216 c++  sorting  stl  indexing 

6
make_unique und perfekte Weiterleitung
Warum gibt es std::make_uniquein der Standard-C ++ 11-Bibliothek keine Funktionsvorlage? ich finde std::unique_ptr<SomeUserDefinedType> p(new SomeUserDefinedType(1, 2, 3)); ein bisschen ausführlich. Wäre das Folgende nicht viel schöner? auto p = std::make_unique<SomeUserDefinedType>(1, 2, 3); Dies verbirgt das newschön und erwähnt den Typ nur einmal. Wie auch immer, hier ist mein Versuch einer …

4
C ++ Schleife durch Karte
Ich möchte jedes Element in durchlaufen, map<string, int>ohne einen seiner String-Int-Werte oder Schlüssel zu kennen. Was ich bisher habe: void output(map<string, int> table) { map<string, int>::iterator it; for (it = table.begin(); it != table.end(); it++) { //How do I access each element? } }
216 c++  dictionary 

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.