Als «c++» getaggte Fragen

187
Standardvorlagenargumente für Funktionsvorlagen

Warum sind Standardvorlagenargumente nur für Klassenvorlagen zulässig? Warum können wir keinen Standardtyp in einer Elementfunktionsvorlage definieren? Beispielsweise: struct mycclass { template<class T=int> void mymember(T* vec) { // ... } }; Stattdessen erzwingt C ++, dass...

186
Wie mache ich die CMake-Ausgabe in ein 'bin'-Verzeichnis?

Ich baue gerade ein Projekt mit einer Plugin-Struktur. Ich verwende CMake, um das Projekt zu kompilieren. Die Plugins werden in separaten Verzeichnissen kompiliert. Mein Problem ist, dass CMake die Binärdateien und Plugins, dynamische Bibliotheken, in der Verzeichnisstruktur der Quelle kompiliert...

186
Unnötige geschweifte Klammern in C ++?

Als ich heute eine Codeüberprüfung für einen Kollegen durchführte, sah ich etwas Besonderes. Er hatte seinen neuen Code mit solchen geschweiften Klammern umgeben: Constructor::Constructor() { existing code { New code: do some new fancy stuff here } existing code } Was ist das Ergebnis davon, wenn...

186
fork () verzweigt mehr als erwartet?

Betrachten Sie den folgenden Code: #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { int i; for(i = 0; i < 2; i++) { fork(); printf("."); } return 0; } Dieses Programm gibt 8 Punkte aus. Wie kann das möglich sein? Sollte es nicht...

186
Was machte i = i ++ + 1; legal in C ++ 17?

Bevor Sie anfangen, undefiniertes Verhalten zu schreien, wird dies in N4659 (C ++ 17) explizit aufgeführt. i = i++ + 1; // the value of i is incremented Noch in N3337 (C ++ 11) i = i++ + 1; // the behavior is undefined Was hat sich geändert? Soweit ich das beurteilen kann, aus [N4659 basic.exec]...

185
STL- oder Qt-Container?

Was sind die Vor- und Nachteile der Qt - Container mit ( QMap, QVectorusw.) über ihre STL gleichwertig? Ich sehe einen Grund, Qt zu bevorzugen: Qt-Container können an andere Teile von Qt weitergegeben werden. Zum Beispiel können sie verwendet werden, um a QVariantund dann a zu füllen...

185
std :: auto_ptr bis std :: unique_ptr

Mit dem neuen Standard (und Teilen, die bereits in einigen Compilern verfügbar sind) soll der neue Typ std::unique_ptrein Ersatz für sein std::auto_ptr. Überlappt sich ihre Verwendung genau (damit ich meinen Code global suchen / ersetzen kann (nicht, dass ich dies tun würde, aber wenn ich es tun...

185
Wie werden GCC und g ++ gebootet?

Das nervt mich schon eine Weile. Wie kompilieren sich GCC und g ++? Ich vermute, dass jede Revision mit einer zuvor erstellten Revision kompiliert wird. Ist das wahr? Und wenn ja, bedeutet dies, dass die ältesten g ++ - und GCC-Versionen in Assembly geschrieben

184
mmap () vs. Leseblöcke

Ich arbeite an einem Programm, das Dateien verarbeitet, die möglicherweise 100 GB oder mehr groß sein können. Die Dateien enthalten Sätze von Datensätzen variabler Länge. Ich habe eine erste Implementierung in Betrieb genommen und versuche nun, die Leistung zu verbessern, insbesondere um E / A...

184
Übergeben eines Arrays als Referenz

Wie funktioniert das Übergeben eines statisch zugewiesenen Arrays als Referenz? void foo(int (&myArray)[100]) { } int main() { int a[100]; foo(a); } Hat (&myArray)[100]es eine Bedeutung oder ist es nur eine Syntax, um ein Array als Referenz zu übergeben? Ich verstehe hier keine...