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
Was ist der Unterschied zwischen include_directories und target_include_directories in CMake?
Ich habe eine Verzeichnisstruktur für meinen C ++ - Code, die folgendermaßen aussieht: | |->include |->src Ich schreibe eine CMakeLists.txt-Datei für meinen Code. Ich möchte den Unterschied zwischen include_directoriesund target_include_directoriesin verstehen CMake. Was ist der Unterschied zwischen ihrer Verwendung und dem Pfad, den ich verwenden soll, um meinen Include-Dateipfad hinzuzufügen?
134 c++  cmake 



3
Was passiert, wenn Sie erase () für ein Kartenelement aufrufen, während Sie von Anfang bis Ende iterieren?
Im folgenden Code durchlaufe ich eine Karte und teste, ob ein Element gelöscht werden muss. Ist es sicher, das Element zu löschen und weiter zu iterieren, oder muss ich die Schlüssel in einem anderen Container sammeln und eine zweite Schleife ausführen, um erase () aufzurufen? map<string, SerialdMsg::SerialFunction_t>::iterator pm_it; for (pm_it …
133 c++  stl  iterator 

3
Wie drucke ich uint64_t? Schlägt fehl mit: "falsches abschließendes '%' im Format"
Ich habe einen sehr einfachen Testcode von printf uint64_t geschrieben: #include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; } Ich verwende Ubuntu 11.10 (64 Bit) und gcc Version 4.6.1, um es zu kompilieren, aber es ist fehlgeschlagen: main.cpp: …
133 c++  c 


13
Gibt es eine Optimierung für den wahlfreien Zugriff auf ein sehr großes Array, wenn der Wert in 95% der Fälle entweder 0 oder 1 ist?
Gibt es eine mögliche Optimierung für den wahlfreien Zugriff auf ein sehr großes Array (ich verwende derzeit uint8_tund frage, was besser ist)? uint8_t MyArray[10000000]; wenn der Wert an einer beliebigen Position im Array ist 0 oder 1 für 95% aller Fälle, 2 in 4% der Fälle, zwischen 3 und 255 …


8
Wie schnell ist D im Vergleich zu C ++?
Ich mag einige Funktionen von D, wäre aber interessiert, wenn sie mit einer Laufzeitstrafe verbunden sind? Zum Vergleich habe ich ein einfaches Programm implementiert, das Skalarprodukte vieler Kurzvektoren sowohl in C ++ als auch in D berechnet. Das Ergebnis ist überraschend: D: 18,9 s [endgültige Laufzeit siehe unten] C ++: …
133 c++  performance  runtime  d 

16
Verkaufen Sie mich auf konstante Korrektheit
Warum genau wird immer empfohlen, const so oft wie möglich zu verwenden? Es scheint mir, dass die Verwendung von const in C ++ eher ein Schmerz als eine Hilfe sein kann. Aber andererseits komme ich aus der Python-Perspektive dazu: Wenn Sie nicht möchten, dass etwas geändert wird, ändern Sie es …


3
LLVM vs Clang unter OS X.
Ich habe eine Frage zu llvm, clang und gcc unter OS X. Was ist der Unterschied zwischen llvm-gcc 4.2, llvm 2.0 und clang? Ich weiß, dass sie alle auf llvm aufbauen, aber wie unterscheiden sie sich? Was ist neben dem schnelleren Kompilieren der Vorteil von llvm gegenüber gcc?
133 c++  c  gcc  llvm  clang 


4
Anschließen überlasteter Signale und Steckplätze in Qt 5
Ich habe Probleme, die neue Signal- / Slot-Syntax (unter Verwendung des Zeigers auf die Elementfunktion) in Qt 5 in den Griff zu bekommen, wie unter Neue Signal-Slot-Syntax beschrieben . Ich habe versucht, dies zu ändern: QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int)); dazu: QObject::connect(spinBox, &QSpinBox::valueChanged, slider, &QSlider::setValue); Beim Versuch, es zu kompilieren, wird …
133 c++  qt  qt5 

6
Wie verwende ich einen benutzerdefinierten Löscher mit einem std :: unique_ptr-Mitglied?
Ich habe eine Klasse mit einem unique_ptr-Mitglied. class Foo { private: std::unique_ptr<Bar> bar; ... }; Die Leiste ist eine Klasse von Drittanbietern mit einer Funktion create () und einer Funktion destroy (). Wenn ich a std::unique_ptrdamit in einer eigenständigen Funktion verwenden wollte, könnte ich Folgendes tun: void foo() { std::unique_ptr<Bar, …

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.