티스토리 뷰
벡터에 여러 문자열을 저장할때 배열을 사용하면 컴파일 에러난다.
추가>>>>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
CString str;
std::vector<CString*> v;
CString s[4] = {"1", "2", "3", "4"},
t[4] = {"11", "22", "33", "44"};
v.push_back(s);
v.push_back(t);
std::vector<CString*>::iterator it = v.begin();
str = (*it)[0]; // 1
str = (*it)[1]; // 2
str = (*it)[2]; // 3
str = (*it)[3]; // 4
it++;
str = (*it)[0]; // 11
str = (*it)[1]; // 22
str = (*it)[2]; // 33
str = (*it)[3]; // 44
|
cs |
=======
std::vector< std::tuple<CString, CString, CString, CString, CString, CString, CString, CString>> v; // 너무 길다.
std::vector<CString[8]> v; // 벡터에는 배열을 사용할 수 없다고 컴파일에서 에러난다.
std::vector<std::vector<CString>> v; // OK
값을 읽을때는
std::vector<CSting> str = v.at(0); // v[0];
CString str1 = str->at(0); // str[0];
값을 저장할때는
v[0][0] = TEXT("123");
iterator 를 이용한 값 읽기
CString str3 = it->at(0); // (*it)[0];
iterator 를 이용한 값 저장
it->at(2) = TEXT("123"); // (*it)[2] 도 가능
사용법을 더 확인해야 함.
주의사항 :
배열은 요소값으로 데이타 갯수를 제한할 수 있지만, 벡터는 제한할 수 없는 문제가 있다. (std::venter<int> a(5) 처럼 크기 지정 가능한듯... 확인해보기)