본문 바로가기
C++ Programming

[C++] Vector 공부

by TYB 2024. 7. 6.
반응형

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++ 모두 올바르게 작동합니다.


 

반응형