Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 도커 #docker #docker-compose.yml #도커컴포즈 #배포 #spring #mysql #docker-compose
- /
- 도커 #Docker #배포 #Spring #MySQL #백엔드배포
- chatgpt #gpt #챗지피티 #ai
Archives
- Today
- Total
개발자 데뷔!
[C/C++ 6.3] STL Vector 2차원 본문
2차원 벡터 선언
vector<vector<string>> parsed;
2차원 벡터 선언 (크기지정)
2차원 벡터를 선언 vector<vector<type>> 하고,
(행 크기, 열 크기) 형식으로 크기도 함께 지정해줘야 한다.
이 때, 행의 구성 자체가 1차원 vector로 이루어지므로,
'열 크기'는 1차원 벡터를 크기선언 하듯 vector<int> (N) 자체로 선언해줘야 한다.
board = vector<vector<int>>(N, vector<int>(N));
1차원벡터 선언(크기지정)
board = vector<int>(N);
2차원 벡터 사용 (크기 지정 안되어있을 시)
크기 지정이 안되어있다면, 메모리 할당이 안되어있는 상태이다.
그 상태로 바로 index로 접근(parsed[i]) 하는 것은 불가능 하므로,
바로 값을 입력(parsed[i].push_back)하면 에러가 발생한다.
그러므로 반드시, 1차원 벡터 자체를 삽입 해준 후, (parsed.push_back( vector<string>() );)
index로 접근해 값을 입력 해야 한다. (parsed[i].push_back(str);)
// 벡터 선언 (크기지정x)
vector<vector<string>> parsed;
// 1차원 벡터를 삽입해준 후,
parsed.push_back(vector<string>());
parsed[i].push_back(str); // 값 입력
2차원 벡터 출력 (iterator)
// 2차원 vector 출력 iterator
for (auto it : parsed) { // parsed가 2차원 벡터
for (auto itt : it) {
cout << itt << " "; // 각 n번째 element 접근 방법
}
cout << endl;
}
'프로그래밍 언어 > C++' 카테고리의 다른 글
[C/C++ 2.5] 문자열 handling (0) | 2022.03.16 |
---|---|
[C/C++ 6.2] STL Vector (0) | 2022.03.11 |
[C/C++ 6.1] STL Sorting (0) | 2022.03.11 |
[C/C++ 2.4] 문자열 Parsing (0) | 2022.03.10 |
[C/C++ 2.2] string vs char[] 비교 (0) | 2022.03.10 |