Programming Language/cpp
std::array vs std::vector
snp0301
2025. 10. 10. 21:29
해당 포스트는 cppreference.com을 참조해 작성했습니다.
std::array
- a container that encapsulates fixed size arrays.
- it doesn't decay to
T*automatically.
template<
class T,
std::size_t N
> struct array;
std::vector
- a sequence container that encapsualteds dynamic size arrays.
- Except for
std::vector<bool>partial specialization, the element are stored contiguously, which means that elements can be accessed not only through iterators, but also using offsets to regular pointers to elements. - Vectors usually occupy more space than static arrays, because more memory is allocated to handle future growth. This way a vector does not need to reallocate each time an element is inserted, buy only when the additional memory is exhausted.
template<
class T,
class Allocator = std::allocator<T>
> class vector;