一句话
vector<Contestant>(contestants).swap(contestants);
其中contestants为capacity很大,但是size很小的vector。这里先用copy ctor创建了一个临时对象,然后和contestants交换。之后编译器会自动释放原来那个大capacity的vector堆,此时contestants就是一个大小合适的vector了。
一句话
vector<Contestant>(contestants).swap(contestants);