Open ggjae opened 3 years ago
vector a[1000]은 [vector, vector, .... , vector] 처럼 vector가 1000개 모여있는 2차원 배열이라고 생각하면 된다. 자주 사용해왔기 때문에 이것에 대한 이해는 쉽다.
하지만 vector a(1000,0)의 사용법은 정확히 몰랐고 이번 test.cpp를 만들어서 실험하며 어떤 역할을 하는지 깨달았다.
#include <iostream> #include <vector> using namespace std; int main(){ vector<int> a(5,0); a.push_back(1); a.push_back(2); a.push_back(3); a.push_back(4); a.push_back(5); a.push_back(6); for(int i=0;i<a.size();i++){ printf("%d", a[i]); } return 0; }
컴파일시에 출력은 '00000123456'이 나왔다.
vector a(5,0)은 vector를 배열처럼 최소공간을 만들어놓고, 초기화할 수 있다는 큰 장점을 가지고 있다고 느끼게 되었다.
vector의 큰 특징은 push_back으로 공간을 할당해주지 않으면 인덱스로 접근하지 못한다는 것이였는데
두번째의 test.cpp를 살펴보자.
#include <iostream> #include <vector> using namespace std; int main(){ vector<int> a(5,0); for(int i=0;i<a.size();i++){ a[i] = i; printf("%d",a[i]); } return 0; }
에서는 바로 index로 접근했음에도 불구하고 '01234'의 출력이 나왔다. 벡터(동적할당)임에도 불구하고 유연하게 값을 초기화할 수 있다는 장점을 얻게 되었고 push_back으로 뒤에 추가하면서 자유롭게 공간을 늘릴 수 있다는 장점 또한 있다.
분석 끝!
vector a[1000] 과 vector a(1000, 0)의 차이는 무엇일까요?
vector a[1000]은 [vector, vector, .... , vector] 처럼 vector가 1000개 모여있는 2차원 배열이라고 생각하면 된다. 자주 사용해왔기 때문에 이것에 대한 이해는 쉽다.
하지만 vector a(1000,0)의 사용법은 정확히 몰랐고 이번 test.cpp를 만들어서 실험하며 어떤 역할을 하는지 깨달았다.
컴파일시에 출력은 '00000123456'이 나왔다.
vector a(5,0)은 vector를 배열처럼 최소공간을 만들어놓고, 초기화할 수 있다는 큰 장점을 가지고 있다고 느끼게 되었다.
vector의 큰 특징은 push_back으로 공간을 할당해주지 않으면 인덱스로 접근하지 못한다는 것이였는데
두번째의 test.cpp를 살펴보자.
에서는 바로 index로 접근했음에도 불구하고 '01234'의 출력이 나왔다. 벡터(동적할당)임에도 불구하고 유연하게 값을 초기화할 수 있다는 장점을 얻게 되었고 push_back으로 뒤에 추가하면서 자유롭게 공간을 늘릴 수 있다는 장점 또한 있다.
분석 끝!