728x90
#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
	string str1 = "i like coding";
	string str2 = move(str1);

	cout << "str1 : " << str1 << endl;
	cout << "str2 : " << str2 << endl;

	vector<int> v1{ 1, 2, 3 };
	vector<int> v2 = move(v1);

	cout << "v1 size : " << v1.size() << endl;
	cout << "v2 size : " << v2.size() << endl;

	return 0;
}

 

 

문자열을 복사하지 않고 다른 곳으로 이동할 때에는 move 함수를 사용합니다. move는 잘라내기 기능과도 같아 

기존 변수의 내용은 삭제되고 다른 문자열로 이동합니다.

 

문자열 변수를 선언합니다.

새로운 문자열 변수를 선언하며 초기값으로 move 함수를 이용합니다.

move 함수에 인자로 전달된 str1의 내용이 str2로 이동합니다.

 

문자열 2개를 출력합니다. move 함수로 인해 str1에는 아무 내용이 없으며, str2에는 원래 str1의 값이 할당되었습니다.

9, 10라인과 비슷한 의미로 v1에는 데이터가 처믕네 있찌만 move 함수로 v2로 데이터가 모두 이동합니다.

 

벡터 2개의 크기를 출력합니다. v1에는 아무 값이 없고, v2에는 1, 2, 3의 값이 있습니다.

 

 

728x90