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.


2
Ein Konzept an eine Funktion übergeben
Ist es auch möglich, diese Prädikate für Algorithmen zur Kompilierungszeit wiederzuverwenden, da Konzepte als Prädikate zur Kompilierungszeit definiert sind? Wäre es beispielsweise möglich zu überprüfen, ob alle Typen in einem Tupel einem Konzept entsprechen? Soweit ich gesehen habe, ist es nicht möglich, ein Konzept in irgendeiner Weise an eine Funktion …

5
Effiziente stabile Summe der bestellten Nummern
Ich habe eine ziemlich lange Liste von Gleitkomma-Positivzahlen ( std::vector<float>, Größe ~ 1000). Die Nummern sind in absteigender Reihenfolge sortiert. Wenn ich sie in der Reihenfolge summiere: for (auto v : vec) { sum += v; } Ich denke, ich kann ein numerisches Stabilitätsproblem haben, da nahe am Ende des …

2
Initialisierung des Vektors der Atomik
Erwägen: void foo() { std::vector<std::atomic<int>> foo(10); ... } Sind die Inhalte von foo jetzt gültig? Oder muss ich sie explizit durchlaufen und initialisieren? Ich habe Godbolt überprüft und es scheint in Ordnung zu sein, jedoch scheint der Standard in diesem Punkt sehr verwirrt zu sein. Der Konstruktor std :: vector …
12 c++  vector  atomic 




4
Breaking Änderung in C ++ 20 oder Regression in Clang-Trunk / Gcc-Trunk beim Überladen des Gleichheitsvergleichs mit nicht-booleschem Rückgabewert?
Der folgende Code lässt sich gut mit Clang-Trunk im C ++ 17-Modus kompilieren, bricht jedoch im C ++ 2a-Modus (bevorstehendes C ++ 20) ab: // Meta struct describing the result of a comparison struct Meta {}; struct Foo { Meta operator==(const Foo&) {return Meta{};} Meta operator!=(const Foo&) {return Meta{};} }; …


1
Ist `string.assign (string.data (), 5)` gut definiert oder UB?
Ein Mitarbeiter wollte dies schreiben: std::string_view strip_whitespace(std::string_view sv); std::string line = "hello "; line = strip_whitespace(line); Ich sagte, dass die Rückkehr string_viewmich a priori unruhig machte , und außerdem sah das Aliasing hier für mich wie UB aus. Ich kann mit Sicherheit sagen, dass line = strip_whitespace(line)in diesem Fall gleichbedeutend …





1
Effizienter Algorithmus zum Abschneiden von Zeichenfolgen, bei dem nacheinander gleiche Präfixe und Suffixe entfernt werden
Zeitlimit pro Test: 5 Sekunden Speicherlimit pro Test: 512 Megabyte Sie erhalten eine Zeichenfolge mit seiner Länge n( n≤ 5000). Sie können jedes richtige Präfix dieser Zeichenfolge auswählen, das auch das Suffix ist, und entweder das ausgewählte Präfix oder das entsprechende Suffix entfernen. Dann können Sie eine analoge Operation auf …

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.