回答編集履歴

3

コード追記(clear)

2020/07/15 08:29

投稿

SHOMI
SHOMI

スコア4079

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

文言修正

2020/07/15 08:29

投稿

SHOMI
SHOMI

スコア4079

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

文言修正

2020/07/15 07:42

投稿

SHOMI
SHOMI

スコア4079

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