반응형
Vector는 #include <vector>을 통해 사용 가능
std:: vector 이런식으로 쓸 수 있고
using namespace std; 를 써주면 std 생략가능
1. String 형태의 Vector 를 초기에 10칸 "" 비어있는 값으로 초기화 해준 후 0,11,22~99까지의 값을 넣어준 후
iterator 개념을 통해 strcmp를 통해 vector 내부의 값을 찾는 형태임.
#include <vector>
#include <string>
#define INIT_SIZE 10
using namespace std;
int main()
{
vector <string> tray_map(INIT_SIZE, "");
for (int i = 0; i < INIT_SIZE; i++)
{
tray_map[i] = to_string(i+10*i);
}
int index = 0;
for (auto it = tray_map.begin(); it != tray_map.end(); ++it)
{
if (strcmp(it->c_str(), "66") == 0)
{
index = distance(tray_map.begin(), it);
break;
}
}
return 0;
}
전위 증가 연산자 (++it)와 후위 증가 연산자 (it++)의 차이
- 전위 증가 연산자 (++it):
- it를 증가시키고 나서 그 증가된 값을 반환합니다.
- 더 효율적입니다. 불필요한 복사본을 만들지 않으므로 성능 면에서 더 나을 수 있습니다.
- 후위 증가 연산자 (it++):
- it의 현재 값을 반환하고 나서 it를 증가시킵니다.
- 추가로 it의 복사본을 만들어야 하므로 약간 비효율적일 수 있습니다.
일반적으로 반복자와 같은 객체에 대해서는 전위 증가 연산자를 사용하는 것이 권장됩니다. 하지만 이 예제에서는 벡터의 요소를 순회하는 단순한 경우이므로, 성능 차이는 미미하고, ++it와 it++ 모두 올바르게 작동합니다.
반응형
'C++ Programming' 카테고리의 다른 글
[C++] Map 공부 (0) | 2024.07.06 |
---|---|
[C++ Programming] 문자열 변환 c_str() 함수 (0) | 2024.07.06 |
[C++ Programming] Template을 사용한 Doubly Linked List 구현 (1) | 2024.03.17 |
[C++] MFC에서 CString 사용 시 printf 값이 이상할 경우 해결 방법 (0) | 2023.10.31 |
[C++] visual studio와 maria db 연동 후 값 읽어오기 (0) | 2023.10.25 |