开够了还会搬家吗
运行下面这段程序:
#include <algorithm>
#include <iostream>
#include <map>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
using namespace std;
int main() {
vector<int> v;
v.reserve(100);
int moves = 0;
size_t cap = v.capacity();
for (int i = 0; i < 100; i++) {
v.push_back(i);
if (v.capacity() != cap) {
moves++;
cap = v.capacity();
}
}
cout << moves << endl;
}
(本题用 g++ -std=c++17 -O0 编译。)
全部评论