Als «c++11» getaggte Fragen

Verwenden Sie dieses Tag für Code, der als C ++ 11 kompiliert werden muss (ohne die in C ++ 14 oder höher eingeführten Funktionen zu verwenden).



4
C ++ Wie konvertiere ich einen std :: chrono :: time_point in long und back?
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 << …
78 c++  c++11  chrono 

6
Erweiterung des Variadic Template Packs
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 …


4
Wie verwende ich std :: string unter UTF-8 in C ++ richtig?
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 …
78 c++  string  c++11 


5
Wie kann man generische Berechnungen über heterogene Argumentpakete einer variablen Vorlagenfunktion durchführen?
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 …

4
Warum hat std :: array keinen Konstruktor, der einen Wert für das zu füllende Array annimmt?
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 …
77 c++  c++11  stdarray 

4
c ++ 11 Regex langsamer als Python
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 …



3
C ++ 11 "Auto" -Semantik
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(); // …
76 c++  c++11 

7
Enum-Klasse kann nicht als unordered_map-Schlüssel verwendet werden
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 …
76 c++  c++11  map  enums  enum-class 

5
Der Rückgabetyp eines Lambdas kann durch den Rückgabewert abgeleitet werden. Warum kann eine Funktion nicht verwendet werden?
#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 …
75 c++  function  c++11  lambda  auto 

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.