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
Was ist mit C ++ std :: atomic auf Programmiererebene garantiert?
Ich habe mehrere Artikel, Vorträge und Fragen zum Stackoverflow angehört und gelesen std::atomicund möchte sichergehen, dass ich sie gut verstanden habe. Weil ich immer noch ein bisschen verwirrt bin mit der Sichtbarkeit von Cache-Zeilen-Schreibvorgängen aufgrund möglicher Verzögerungen bei MESI-Cache-Kohärenzprotokollen (oder abgeleiteten Protokollen), Speicherpuffern, ungültigen Warteschlangen usw. Ich habe gelesen, dass …


1
Konvertierung in void ** auf verschiedenen Compilern
Ich habe den folgenden Code über verschiedene Compiler ausgeführt: int main() { float **a; void **b; b = a; } Soweit ich feststellen konnte, void **handelt es sich nicht um einen generischen Zeiger, was bedeutet, dass eine Konvertierung von einem anderen Zeiger keine Warnung kompilieren oder zumindest auslösen sollte. Hier …
9 c++  c  cuda 


1
Wie soll shift_right () in C ++ 20 implementiert werden?
In C ++ 20 <algorithm>erhält der Header zwei neue Algorithmen: shift_left()undshift_right() . Beide akzeptieren jeden LegacyForwardIterator. Denn shift_left()es wird spezifiziert, dass "die Bewegungen in aufsteigender Reihenfolge von ibeginnend ausgeführt werden ​0"; denn shift_right()es wird angegeben, dass "wenn ForwardItdie LegacyBidirectionalIterator-Anforderungen erfüllt sind, die Bewegungen in absteigender Reihenfolge von ibeginnend ausgeführt werden …

1
Clang / GCC-Inkonsistenz in der Klassenspezialisierung
Ich kam dieses Problem auf bei dem Versuch , sich zu spezialisieren tuple_size/ tuple_elementeine benutzerdefinierte Klasse in C ++ 17 für strukturierte Bindung. Der folgende Code wird in GCC kompiliert, jedoch nicht in Clang (beide Trunk-Versionen, siehe Link unten). #include <type_traits> template<typename T, typename... Ts> using sfinae_t = T; template<typename …




1
Ist new (this) ThisClass () eine schlechte Idee?
class FooView final : public Something { ... void refresh() { this->~FooView(); new (this) FooView(); } } Ich habe diese Redewendung noch nie gesehen, und es scheint, als könnte sie wirklich subtil und chaotisch sein, aber ich kann mir kein Problem damit vorstellen (solange FooViewes endgültig ist). Ist das eine …


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.