回答編集履歴
3
コード追記(clear)
test
CHANGED
@@ -41,6 +41,24 @@
|
|
41
41
|
}
|
42
42
|
|
43
43
|
std::cout << "erase all:" << v.capacity() << std::endl;
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
std::vector<char>().swap(v);
|
48
|
+
|
49
|
+
std::cout << "swap:" << v.capacity() << std::endl;
|
50
|
+
|
51
|
+
|
52
|
+
|
53
|
+
v.resize(10000);
|
54
|
+
|
55
|
+
std::cout << "resize:" << v.capacity() << std::endl;
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
v.clear();
|
60
|
+
|
61
|
+
std::cout << "clear:" << v.capacity() << std::endl;
|
44
62
|
|
45
63
|
|
46
64
|
|
@@ -106,6 +124,12 @@
|
|
106
124
|
|
107
125
|
resize:10000
|
108
126
|
|
127
|
+
clear:10000
|
128
|
+
|
129
|
+
swap:0
|
130
|
+
|
131
|
+
resize:10000
|
132
|
+
|
109
133
|
erase all & shrink_to_fit:0
|
110
134
|
|
111
135
|
resize:10000
|
2
文言修正
test
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
`erase()`や`clear()`では`vector`が確保したメモリは
|
7
|
+
`erase()`や`clear()`では`vector`が確保したメモリは解放されません。
|
8
8
|
|
9
|
-
C++11以降なら`erase()`や`clear()`の後に[shrink_to_fit()](https://cpprefjp.github.io/reference/vector/vector/shrink_to_fit.html)を呼ぶことでも
|
9
|
+
C++11以降なら`erase()`や`clear()`の後に[shrink_to_fit()](https://cpprefjp.github.io/reference/vector/vector/shrink_to_fit.html)を呼ぶことでも解放するよう要求できます。(解放される保証はないですが)
|
10
10
|
|
11
11
|
```C++
|
12
12
|
|
1
文言修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
`erase()`や`clear()`では`vector`が確保したメモリは開放されません。
|
8
8
|
|
9
|
-
C++11以降なら`erase()`や`clear()`の後に[shrink_to_fit()](https://cpprefjp.github.io/reference/vector/vector/shrink_to_fit.html)を呼ぶことでも開放できます。
|
9
|
+
C++11以降なら`erase()`や`clear()`の後に[shrink_to_fit()](https://cpprefjp.github.io/reference/vector/vector/shrink_to_fit.html)を呼ぶことでも開放するよう要求できます。(開放される保証はないですが)
|
10
10
|
|
11
11
|
```C++
|
12
12
|
|