(gelöst)[C++] std::vector, nur leichter

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von dot »

Man könnte übrigens per custom allocator auch std::vector dazu bringen, zu default-initen statt zu value-initen... ;)
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von Krishty »

http://en.cppreference.com/w/cpp/concept/Allocator hat geschrieben:a.allocate(n) – allocates storage suitable for n objects of type T, but does not construct them. May throw exceptions.
Ich habe das so interpretiert, dass der Allocator sowieso nichts mit Konstruktion am Hut hat und diese vom vector übernommen wird. War ich da auf der falschen Fährte?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Spiele Programmierer
Establishment
Beiträge: 426
Registriert: 23.01.2013, 15:55

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von Spiele Programmierer »

http://en.cppreference.com/w/cpp/concept/Allocator hat geschrieben: a.construct(xptr, args) - Constructs an object of type X in previously-allocated storage at the address pointed to by xptr, using args as the constructor arguments
Allokatoren sind sehr seltsam in C++.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von Krishty »

Uuuuh, danke. Habe ich drei Mal überlesen …

… ein std::vector mit eigenem Allocator und Memory Pool war übrigens ebenfalls im Bau, aber ein paar Architekturprobleme kamen dazwischen. Von dem Pool hatte ich mir erhofft, die Millionen einzelnen Freigaben zu sparen. Später vielleicht.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von dot »

Wobei man erwähnen sollte, dass Allocator::construct() deprecated ist und man besser einfach std::allocator_traits spezialisiert... ;)
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: (gelöst)[C++] std::vector, nur leichter

Beitrag von dot »

Spiele Programmierer hat geschrieben:
http://en.cppreference.com/w/cpp/concept/Allocator hat geschrieben: a.construct(xptr, args) - Constructs an object of type X in previously-allocated storage at the address pointed to by xptr, using args as the constructor arguments
Allokatoren sind sehr seltsam in C++.
[youtube]LIb3L4vKZ7U[/youtube]

;)
Antworten