Vector

박호준·2021년 10월 31일
0

ft_containers

목록 보기
1/6
template < class T, class Alloc = allocator<T> >
class vector

멤버타입

private

  • Self
  • arr
  • len
  • cap

함수

construct

vector (const allocator_type& alloc = allocator_type());
vector (size_type n, const value_type& val = value_type(),
                 const allocator_type& alloc = allocator_type());

template <class InputIterator>
vector (InputIterator first, InputIterator last, const allocator_type& alloc = allocator_type());
vector (const vector& x);

destructor

~vector();

operator=

vector& operator= (const vector& x);

- Iterators

begin / end / rbegin / rend

cbegin / cend / crbegin / crend

iterator OOO();
const_iterator OOO() const;

- Capacity

size

size_type size() const;

=> return (len)

max_size

size_type max_size() const;
return (numeric_limits<difference_type>::max() / sizeof(T))

capacity

size_type capacity() const;
return (cap)

empty

bool empty() const;
return (this->len == 0)

resize / reserve

void reserve(size_type new_cap);
void resize(size_type count);
void resize(size_type count, const value_type& value);
resize
  • resize 는 그 크기만큼 원소의 수를 맞춘다
  • cap > count >= len (인자가 할당된 양보단 적지만 원소 개수보단 많을때)
    부족한 count만큼 value을 더 넣어줌
  • len > size (원소의 개수가 들어온 인자보다 많을때)
    초과된 원소를 제거해준다

reserve

  • count > cap (할당된 양보다 큰 인자가 들어왔을때)
    재할당해줌

- Element access

operator[] / at / front / back

      reference OOO (size_type n);
const_reference OOO (size_type n) const;

- Modifiers

assign : 모두 초기화 후 새로운 값으로 채운다

template <class InputIterator>
void assign(InputIterator first, InputIterator last);

void assign(size_type n, const T& u);

push_back : 맨뒤에 삽입

void push_back (const value_type& val);

pop_back : 맨뒤 삭제

void pop_back();

insert

iterator insert (iterator position, const value_type& val);

void insert (iterator position, size_type n, const 
value_type& val);

template <class InputIterator>
void insert (iterator position, InputIterator first, InputIterator last);

erase

iterator erase (iterator position);
iterator erase (iterator first, iterator last);

swap

void swap (vector& x);

clear

void clear();

- Allocator

get_allocator

allocator_type get_allocator() const;

Non-member function overloads

relational operators

swap

profile
hopark

0개의 댓글