본문 바로가기

언어/C++

C++ : 이중 vector

반응형
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
#include<vector>
 
using namespace std;
 
int main(void) {
 
    vector<vector<int>> v;
    vector<int> v_tmp(9);
    cout << v_tmp.size() << endl;
    
    v.push_back(v_tmp);
    cout << v.size() << endl;
 
    for (int i = 0;i <  v_tmp.size() ; ++i)
        cout << v[0][i] << " ";
    
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
실행화면

설명

위 코드의 실행화면을 보면 v.size() 는 1이라는 값을 반환한다.

 

v_tmp.size()는 9라는 값을 반환한다.

 

vector <int> v(9) 선언하면 0으로 초기화된 9개의 배열을 선언하는 것과 같다.

 

이중벡터라고해서 v.size()가 9가 나올것 같지만 실제로는 vector v는 하나의 배열을 가지고잇는 상태이므로 반환값은 1이다.

 

 

이중vector출력방법
 
1
2
3
4
5
6
    for (int i = 0;i < v.size();i++) {
        for (int j = 0;j < v[i].size();j++) {
            cout << v[i][j] << " ";
        }
        cout << endl;
    }
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
반응형