예를들면
vector initialize_vector(Args...)
{
vector a;
...
return a;
}
이렇게 벡터 초기화하는 함수 만들고 main문 안에서
auto v = initialize_vector(...);
이런식으로 벡터를 선언하면 값이 복사되서 비효율적이지 않음?
복사안하고 벡터 초기화할 수 있는 방법 있음?
예를들면
vector initialize_vector(Args...)
{
vector a;
...
return a;
}
이렇게 벡터 초기화하는 함수 만들고 main문 안에서
auto v = initialize_vector(...);
이런식으로 벡터를 선언하면 값이 복사되서 비효율적이지 않음?
복사안하고 벡터 초기화할 수 있는 방법 있음?
initialize_vector(vector<int>&ref) 이런식으로 메인 함수 내의 벡터에 대한 레퍼런스를 줘서 직접 값을 바꾸게 하거나 전역변수 선언하거나
음 ㅇㅋ
님이 쓴거처럼 하면 RVO 돼서 main 함수에 있는 v에 바로 자리 할당하고 쓰기 때문에 복사 안 일어남
이게맞다
오 이런것도 있구나