一些STL容器如std::string,std::vector会申请比实际写入的字节更多的内存来优化效率,这个Idiom可以让它们的内存没有多余的。
std::vector<int> v;
std::vector<int>(v.begin(), v.end()).swap(v);
一些STL容器如std::string,std::vector会申请比实际写入的字节更多的内存来优化效率,这个Idiom可以让它们的内存没有多余的。
std::vector<int> v;
std::vector<int>(v.begin(), v.end()).swap(v);