Heim > Backend-Entwicklung > C++ > Können Sie in C 11 einen „std::vector' erstellen?

Können Sie in C 11 einen „std::vector' erstellen?

Patricia Arquette
Freigeben: 2024-12-27 01:44:08
Original
434 Leute haben es durchsucht

Can You Create a `std::vector` in C  11?

Ist Vector Zulässig in C 11?

Die C-Normen wurden im Laufe der Zeit überarbeitet, insbesondere von C 03 auf C 11, was zu strengeren Anforderungen für jeden Containerbetrieb führte. Dies ermöglicht die Einbeziehung von Typen, die kopierkonstruierbar, aber nicht zuweisbar sind, wie z. B. Strukturen mit const-Mitgliedern, in Vektoren, solange bestimmte Operationen ausgeführt werden (z. B. Konstruktion und Push_back).

Die Anfrage ergibt sich als ob diese Lockerung der Standards die Erstellung von Vektoren ermöglicht in C 11. Dies ist jedoch nicht der Fall. Die Allokatoranforderungen verlangen, dass T ein „nicht konstanter, nicht referenzierter Objekttyp“ ist.

Die Unfähigkeit, viel mit einem Vektor konstanter Objekte zu tun, sowie die nahezu Äquivalenz eines konstanten Vektors weiter.

Die C-Standards haben diesen Aspekt im Laufe der Jahre kontinuierlich verfeinert, indem sie jeden Typ explizit ausschließen in C 03 bis hin zum Ausschluss gerader const- und volatiler Objekttypen in C 17.

Das obige ist der detaillierte Inhalt vonKönnen Sie in C 11 einen „std::vector' erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage