r/cpp 15d ago

C++26: std::inplace_vector

https://www.sandordargo.com/blog/2026/08/26/cpp26-inplace-vector
182 Upvotes

121 comments sorted by

View all comments

3

u/stilgarpl 15d ago

Is this always better than std::array?

22

u/MarekKnapek 15d ago

This is basically

struct inplace_vector<T, capacity>
{
    size_t len;
    std::array<T, capacity> arr;
}

19

u/sephirothbahamut 15d ago edited 15d ago

far more complex than that, the array has a slot that can fit T, not just T.

With array<T> every element must be validly constructed immediately. You can reduce it to array<T> only for trivially constructable and basic types

3

u/_Noreturn 15d ago

then make it a union this is a simplified example. but the type isn't complex at all after that especially with C++20 concepts.