So to deal with large blobs of memory either for an image or similar there are clearly lots of options.
Since I\'m a fan of smart pointers and RAII I\'m wondering ab
It's the same as comparing std::vector vs. C array.
Think about shared_array as a RAII C array. What you get is just automatic memory deallocation. Useful in cases when you deal with 3rd-party code that returns arrays.
Theoretically it's faster than std::vector in some edge cases, but much less flexible and less secure.
std::vector is probably the better choice.
shared_ptr to std::vector
+ allows amortized constant time push_back- introduces an extra level of indirection over std::vectorshared_array
+ does not introduce an extra level of indirection- does not allow amortized constant time append, unless you implement it yourself, which again would take an extra level of indirection.