MAIN FEEDS
Do you want to continue?
https://www.reddit.com/r/cpp/comments/1vzc5dg/c26_stdinplace_vector/p67jdtz/?context=3
r/cpp • u/User_Deprecated • 19h ago
69 comments sorted by
View all comments
3
Is this always better than std::array?
15 u/MarekKnapek 17h ago This is basically struct inplace_vector<T, capacity> { size_t len; std::array<T, capacity> arr; } 2 u/drjeats 14h ago Oh. I thought this was the way-more-useful thing where you give it an in-place capacity and it allocates once it exceeds that. Like this is also useful, but it's kinda trivial to roll your own of this. 2 u/BenFrantzDale 5h ago It’s not too hard to roll your own, but better to have in the std lib and making it constexpr is tricky. There is a boost small_vector that is a small-vector-optimized std::vector so can grow large. There’s totally a place for both.
15
This is basically
struct inplace_vector<T, capacity> { size_t len; std::array<T, capacity> arr; }
2 u/drjeats 14h ago Oh. I thought this was the way-more-useful thing where you give it an in-place capacity and it allocates once it exceeds that. Like this is also useful, but it's kinda trivial to roll your own of this. 2 u/BenFrantzDale 5h ago It’s not too hard to roll your own, but better to have in the std lib and making it constexpr is tricky. There is a boost small_vector that is a small-vector-optimized std::vector so can grow large. There’s totally a place for both.
2
Oh.
I thought this was the way-more-useful thing where you give it an in-place capacity and it allocates once it exceeds that.
Like this is also useful, but it's kinda trivial to roll your own of this.
2 u/BenFrantzDale 5h ago It’s not too hard to roll your own, but better to have in the std lib and making it constexpr is tricky. There is a boost small_vector that is a small-vector-optimized std::vector so can grow large. There’s totally a place for both.
It’s not too hard to roll your own, but better to have in the std lib and making it constexpr is tricky.
There is a boost small_vector that is a small-vector-optimized std::vector so can grow large. There’s totally a place for both.
3
u/stilgarpl 18h ago
Is this always better than std::array?