[C++] Vector

JAsmine_log·2024년 2월 19일

알고리즘을 작성하다가 C++에서 vector의 개념이 필요해 정리하게 되었다.

목차

  1. vector 개념
  2. vector 특징
  3. vector 함수

1. vector 개념

Vector는 STL(Standard Template Library)의 컨테이너 클래스이다.

STL : 표준 템플릿 라이브러리, 알고리즘, 컨테이너, 함수자, 반복자로 구성

2. vector 특징

vector의 특징은 데이터를 뒤에서 추가 및 삭제할 수 있다는 점이다.
배열과는 달리 미리 사이즈를 정하지 않고 정의하여 사용할 수 있고, 동적으로 메모리를 할당하여 어떤 데이터타입도 자유롭게 사용할 수 있다.

  • Sequence
  • Danaic array
  • Allocator-aware

3. vector 함수

vector를 사용할 수 있는 함수의 종류는 아래에 차례대로 볼 수 있다.

  • Vector 선언 :
  using namespaced td;		//1
  
  #inlcude <vector>			//2
  • 초기화 :
    init_value로 size만큼 할당하는 vector 생성,
    init_value를 설정하지 않으면, 0으로 초기화
  vector<data_type> v(size, init_value); 
	vector<data_type> v;
	vector<data_type> v(size);
	vector<data_type> v(size, init_value);
	vector<data_type> v(targetv);  	//targetv를 v로 복사//
  • 함수: 아래 형태로, 초기화한 vector의 함수에 prapmeter를 넣어 사용할 있음
  v.function(prpams1, prams2, ...) 

Member functions

functioncontent
(constructor)Construct vector (public member function)
(destructor)Vector destructor (public member function)
operator=Assign content (public member function)

Iterators

functioncontent
beginReturn iterator to beginning (public member function)
endReturn iterator to end (public member function)
rbeginReturn reverse iterator to reverse beginning (public member
rendReturn reverse iterator to reverse end (public member function)
cbeginReturn const_iterator to beginning (public member function)
cendReturn const_iterator to end (public member function)
crbeginReturn const_reverse_iterator to reverse beginning (public member function)
crendReturn const_reverse_iterator to reverse end (public member function)

Capacity

functioncontent
sizeReturn size (public member function)
max_sizeReturn maximum size (public member function)
resizeChange size (public member function)
capacityReturn size of allocated storage capacity (public member function)
emptyTest whether vector is empty (public member function)
reserveRequest a change in capacity (public member function)
shrink_to_fitShrink to fit (public member function)

Element access

functioncontent
operator[]Access element (public member function)
atAccess element (public member function)
frontAccess first element (public member function)
backAccess last element (public member function)
dataAccess data (public member function)

Modifiers

functioncontent
assignAssign vector content (public member function)
push_backAdd element at the end (public member function)
pop_backDelete last element (public member function)
insertInsert elements (public member function)
eraseErase elements (public member function)
swapSwap content (public member function)
clearClear content (public member function)
emplaceConstruct and insert element (public member function)
emplace_backConstruct and insert element at the end (public member function)

Allocator

functioncontent
get_allocatorGet allocator (public member function)

Non-member function overloads

functioncontent
relationaloperators Relational operators for vector (function template)
swapExchange contents of vectors (function template)

Template specializations

functioncontent
vectorVector of bool (class template specialization)

Reference

[1] https://cplusplus.com/reference/vector/vector/?kw=vector#google_vignette

profile
Everyday Research & Development

0개의 댓글