Wird unique_ptrgarantiert nullptrnach dem Umzug gespeichert ? std::unique_ptr<int> p1{new int{23}}; std::unique_ptr<int> p2{std::move(p1)}; assert(!p1); // is this always true?
Ich schreibe ein Konsolenprogramm in C ++, um eine große Datei herunterzuladen. Ich kenne die Dateigröße und starte einen Arbeitsthread zum Herunterladen. Ich möchte eine Fortschrittsanzeige anzeigen, damit es kühler aussieht. Wie werden verschiedene Zeichenfolgen zu unterschiedlichen Zeiten, aber an derselben Position in cout oder printf angezeigt?
Ich muss zu std::chrono::time_pointund von einem longTyp konvertieren (Ganzzahl 64 Bit). Ich fange an mit std::chrono... Hier ist mein Code: int main () { std::chrono::time_point<std::chrono::system_clock> now = std::chrono::system_clock::now(); auto epoch = now.time_since_epoch(); auto value = std::chrono::duration_cast<std::chrono::milliseconds>(epoch); long duration = value.count(); std::chrono::duration<long> dur(duration); std::chrono::time_point<std::chrono::system_clock> dt(dur); if (dt != now) std::cout << …
Ich versuche, verschiedene Vorlagen und Funktionen zu lernen. Ich kann nicht verstehen, warum dieser Code nicht kompiliert wird: template<typename T> static void bar(T t) {} template<typename... Args> static void foo2(Args... args) { (bar(args)...); } int main() { foo2(1, 2, 3, "3"); return 0; } Wenn ich kompiliere, schlägt es mit …
Gibt es einen Grund, warum eine Funktion eine RValue-Referenz zurückgeben sollte ? Eine Technik oder ein Trick oder eine Redewendung oder ein Muster? MyClass&& func( ... ); Ich bin mir der Gefahr bewusst, Referenzen im Allgemeinen zurückzugeben, aber manchmal tun wir es trotzdem, nicht wahr? T& T::operator=(T)ist nur ein idiomatisches …
Meine Plattform ist ein Mac und C ++ 11 (oder höher). Ich bin ein C ++ - Anfänger und arbeite an einem persönlichen Projekt, das Chinesisch und Englisch verarbeitet. UTF-8 ist die bevorzugte Codierung für dieses Projekt. Ich habe einige Beiträge zu Stack Overflow gelesen, und viele von ihnen schlagen …
Gibt es eine Möglichkeit, CMake automatisch erkennen zu lassen, ob ein Compiler C ++ 11 unterstützt oder nicht? Es wäre schön, die Benutzer während des CMake-Laufs darüber zu informieren, dass der Code nicht kompiliert wird, da der Compiler C ++ 11 nicht unterstützt. Im Moment habe ich die C ++ …
PRÄMISSE: Nachdem ich ein wenig mit verschiedenen Vorlagen herumgespielt hatte, wurde mir klar, dass es bald ziemlich umständlich wird, etwas zu erreichen, das etwas über die trivialen Metaprogrammieraufgaben hinausgeht. Insbesondere fand ich mich für eine Art und Weise will auszuführen generische Operationen über ein Argument Pack wie Iterierte , Split …
Ist das Fehlen von std::array<T,size>::array(const T& value); ein Versehen? Es scheint mir sehr nützlich zu sein, und dynamische Container (wie std::vector) haben einen ähnlichen Konstruktor. Ich bin mir dessen voll bewusst std::array<T,size>::fill(const T& value); Dies ist jedoch kein Konstruktor, und der Speicher wird zuerst auf Null gesetzt. Was ist, wenn …
Hallo, ich würde gerne verstehen, warum der folgende Code, der eine geteilte Zeichenfolge mit Regex teilt #include<regex> #include<vector> #include<string> std::vector<std::string> split(const std::string &s){ static const std::regex rsplit(" +"); auto rit = std::sregex_token_iterator(s.begin(), s.end(), rsplit, -1); auto rend = std::sregex_token_iterator(); auto res = std::vector<std::string>(rit, rend); return res; } int main(){ for(auto …
Warum verwenden offizielle Beispiele und Tutorials zur Qt-Bibliothek niemals intelligente Zeiger? Ich sehe nur newund deletezum Erstellen und Zerstören der Widgets. Ich habe nach dem Grund gesucht, konnte ihn aber nicht finden, und ich sehe selbst keinen, außer aus historischen Gründen oder aus Gründen der Abwärtskompatibilität: Nicht jeder möchte, dass …
autoWelche Regeln gelten für die Typableitung bei Verwendung von C ++ 11 hinsichtlich der Auflösung in einen Wert oder eine Referenz? ZB manchmal ist es klar: auto i = v.begin(); // Copy, begin() returns an iterator by value Diese sind weniger klar: const std::shared_ptr<Foo>& get_foo(); auto p = get_foo(); // …
Ich habe eine Klasse, die eine Aufzählungsklasse enthält. class Shader { public: enum class Type { Vertex = GL_VERTEX_SHADER, Geometry = GL_GEOMETRY_SHADER, Fragment = GL_FRAGMENT_SHADER }; //... Wenn ich dann den folgenden Code in einer anderen Klasse implementiere ... std::unordered_map<Shader::Type, Shader> shaders; ... Ich erhalte einen Kompilierungsfehler. ...usr/lib/c++/v1/type_traits:770:38: Implicit instantiation …
#include <iostream> int main(){ auto lambda = [] { return 7; }; std::cout << lambda() << '\n'; } Dieses Programm kompiliert und druckt 7. Der Rückgabetyp des Lambda wird basierend auf dem Rückgabewert von 7 zum ganzzahligen Typ abgeleitet. Warum ist das mit normalen Funktionen nicht möglich? #include <iostream> auto …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.