일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 魔法っていっていいかな
- 오버플로우
- 마법이라고 불러도 좋을까?
- 문자열숫자를 숫자로
- 아스키코드
- 십진수 8진수
- 아스키코드로 숫자 넣기
- 平井堅
- Official髭男dism
- 정수와 상수
- !doctype html
- 백준 8958번
- 십진수 16진수
- React.js
- meta charset=
- body
- 히라이켄
- ㅇ
- HEAD
- 자료형
- html
- 異端なスター
- 백준 11720
- 백준4344번
- Today
- Total
갓비니
** C++ STL (Standard Template Library) - vector (가변길이의 배열) 본문
*** 풀 때 : 값 비교할때 (메인 값을 temp에 넣어놓고 for문으로 비교하기!)
횟수 셀 때는 count 이용하고,
모든 조건을 잘 사용해야 함을 숙지하기 (문자열의 최대 길이 등이 왜 주어졌을까? -> 범위를 지정하기 위해서!)
가변길이의 배열을 원할 때 사용할 수 있다.
vector는 기특하게 배열공간이 부족하면 스스로 더 큰 배열을 할당받아서 공간을 늘린다.
1) vector 객체 생성
vector<자료형> v;
만일 vector<int> v; 였는데 다른 타입의 값을 넣으면 오류가 발생한다!
2) vector 내 원소 삽입 / 삭제
v.push_back(20); //삽입
삭제의 경우는 iterator와 함께 사용해야한다!
#include<algorithm> 사용하면 그냥 사용가능
vector<int>::iterator it;
it = v.begin(); //v의 첫번째 원소
it = v.erase(it); // 첫번째 원소를 지워주세요!
erase(it)은 it이 가리켰던 원소를 삭제한 후, 뒤에 있는 친구들을 한칸씩 땡겨온다.
삭제된 친구의 다음 원소를 가리키는 포인터를 리턴한다.
그러므로 삭제 후에도 또 새롭게 다시 새로운 v.begin()이 it이 된다!
4) vector의 값 읽기 / 변경
at()을 이용하거나 []를 이용한다.
v.at(0) // v의 첫번째 원소에 접근할 수 있음. // v[0]
v.at(2) = 300; //변경 // v[2]=300;
int a = v.at(2); //읽어오기 // int a=v[2]
5) vector의 원소 개수
v.size() // 개수를 알 수 있다. (용량은 v.capacity() )
6) vector의 멤버 함수와 연산자 함수
push_back(element) // 원소추가
at(int index) // index 위치의 내용 리턴
begin() // 첫번째 원소의 내용 리턴
end() // 마지막 원소 다음 (벡터의 끝) 내용을 리턴
empty() // 벡터가 비어있으면 true 리턴
erase(iterator it) // it이 가리키는 원소 삭제 후 땡겨줌
size() // 벡터가 가지고 있는 원소의 개수 리턴
operator[]() // 지정된 원소에 대한 내용 리턴
operator=() // 이 벡터를 다른 벡터에 복사
find() // 원하는 값의 위치를 반환해준다. 존재하지 않을 경우 매우 큰 값을 반환한다.
string_list로 받은 string형 vector의 내용이
{"가나","다라","마바","사아"} 라고 하자.
그러면
void test(vector<string> string_list ){
string_list.at(0); -->"가나"
string_list.size(); --> 4를 리턴한다.
string_list.find("사아") --> 3을 리턴한다!
}
capacity ?
'Programming > C++' 카테고리의 다른 글
C++ 제곱근 / 루트 (pow, sqrt) 함수 (0) | 2020.07.10 |
---|---|
C++ STL (Standard Template Library) - 이차원 vector (0) | 2020.07.04 |
C++ Template : 템플릿, 제너릭 타입 (0) | 2020.07.03 |
C++ STL (Standard Template Library) 개념 (0) | 2020.04.27 |
string subscript out of range / C++ 에러 (0) | 2020.04.24 |