예를 들어, 어떤 유형의 객체가 있습니다. std::vector<int> v;
이제 v
이 모든 내부 메모리를 해제하는지 확인하고자합니다.
C++ 11 shrink_to_fit()
메서드를 사용하기 전에 권장되는 보장 방법은 swap()
이며 동일한 형식의 std::vector<>
이 비어 있어야합니다.임시의 decltype 생성
그러나 개체의 유형을 지정하고 싶지 않습니다. 나는 유형을 지정 decltype
을 사용할 수 있습니다, 그래서 이런 식으로 뭔가를 쓰고 싶습니다
std::vector<int> v;
// use v....
v.swap(decltype(v)()); // Create a temporary of same type as v and swap with it.
^^
그러나, 위의 코드는 작동하지 않습니다. 빈 ctor (이 경우)와 함께 임시 decltype(v)
형식을 생성 할 수 없습니다.
임시로 생성하기위한 다른 구문이 있습니까? 당신이 할 수
권장되는 방법은'shrink_to_fit'입니다. – chris
@ 크리스 : 아! 참된. 나는이 방법을 잊어 버렸다. 고마워, 나는 다시 편집 할 것이지만 나의 질문은 여전히있다. –