Als «c++» getaggte Fragen

16
Speichert std :: set Objekte zusammenhängend im Speicher?

Gefällt es std::set, Objekte im zusammenhängenden Speicher zu speichern std::vector? Ich konnte dies nicht im Web finden, cppreference erwähnt keine Details zur Speicherzuweisung. Aber ich kann nicht verstehen, warum es kein zusammenhängendes Gedächtnis verwenden konnte, daher meine...

16
std :: pair <auto, auto> Rückgabetyp

Ich habe mit autoin herumgespielt std::pair. Im folgenden Code soll die Funktion feinen std::pairTyp zurückgeben, der von einem Vorlagenparameter abhängt. Ein Arbeitsbeispiel: BEISPIEL 1 template <unsigned S> auto f() { if constexpr (S == 1) return std::pair{1, 2}; // pair of ints else...

16
Mehrdeutige Überlastungsvorlagen

Ich habe den folgenden Vorlagencode #include <vector> #include <array> #include <iostream> template<typename T1> void foo(std::vector<T1> bar) { std::cout << "GENERIC" << std::endl; } template<typename T1> void

16
Optimierung der R-Zielfunktion mit Rcpp langsamer, warum?

Ich arbeite derzeit an einer Bayes'schen Methode, die mehrere Schritte zur Optimierung eines multinomialen Logit-Modells pro Iteration erfordert. Ich verwende optim (), um diese Optimierungen durchzuführen, und eine in R geschriebene Zielfunktion. Eine Profilerstellung ergab, dass optim () der...

15
Wie finden C ++ - Compiler eine externe Variable?

Ich kompiliere dieses Programm mit g ++ und clang ++. Es gibt einen Unterschied: g ++ druckt 1, aber clang ++ druckt 2. Es scheint, dass g ++: die externe Variable im kürzesten Bereich definiert ist. clang ++: Die externe Variable wird im kürzesten globalen Bereich definiert. Hat die C ++ -...

15
Quelldateizeilen mit Makros zählen?

Ist es mit dem C / C ++ - Präprozessor möglich, Zeilen innerhalb einer Quelldatei entweder in ein Makro oder in einen zur Kompilierungszeit verfügbaren Wert zu zählen? Zum Beispiel kann ich ersetzen MAGIC1, MAGIC2und MAGIC3in den folgenden, und den Wert 4 irgendwie erhält bei der Verwendung...

14
std :: bit_cast mit std :: array

In seinem kürzlich gehaltenen Vortrag "Type punning in modernem C ++" sagte Timur Doumler , dass std::bit_castdies nicht zum Bit-Casting floatin ein verwendet werden kann, unsigned char[4]da Arrays im C-Stil nicht von einer Funktion zurückgegeben werden können. Wir sollten entweder std::memcpyC ++...