std::vector<double> 收缩到合适大小?

3

我试图缩小一个向量的大小,但是当我使用 myvector.shrink_to_fit(); 时出现错误,它告诉我:

错误:'std::vector<double, std::allocator<double> >' 中没有名为 'shrink_to_fit' 的成员

而我的向量在头文件中被定义为:

std::vector<double> myvector;

这个错误的含义是什么?

9
使用C++11进行编译。 - chris
1个回答

4

shrink_to_fit是C++11的一个新特性,不是每个编译器都支持。

以前的做法是使用临时交换:

std::vector<double>(myvector).swap(myvector);

@Gracita,请检查编辑,我漏掉了非常重要的东西。 - Mark Ransom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接