22<feed xmlns =" http://www.w3.org/2005/Atom" >
33 <title >cpprefjp - C++日本語リファレンス</title >
44 <link href =" https://cpprefjp.github.io" />
5- <updated >2025-05-28T13:58:38.606548 </updated >
6- <id >fe2e1645-42b4-4d2a-bbaf-85a02815011f </id >
5+ <updated >2025-05-29T16:54:46.446766 </updated >
6+ <id >4531b15a-b3c0-4d72-a730-cb14d7719890 </id >
77
88
9+ <entry >
10+ <title >clear -- Apply suggestions from code review</title >
11+ <link href =" https://cpprefjp.github.io/reference/unordered_map/unordered_map/clear.html" />
12+ <id >457602ec9ed561bf47cb0ad0877ceda8aa07408b:reference/unordered_map/unordered_map/clear.md</id >
13+ <updated >2025-05-30T01:50:47+09:00</updated >
14+
15+ <summary type =" html" >< pre>< code> diff --git a/reference/unordered_map/unordered_map/clear.md b/reference/unordered_map/unordered_map/clear.md
16+ index f4801435c..f7890756a 100644
17+ --- a/reference/unordered_map/unordered_map/clear.md
18+ +++ b/reference/unordered_map/unordered_map/clear.md
19+ @@ -37,9 +37,10 @@ void clear() noexcept;
20+ 本関数呼び出し前のコンテナの要素数([`size`](size.md)`()`)に比例
21+
22+ ### 計算量に関する備考
23+ -- 多くの実装(GCC libstdc++, LLVM libc++ など)は
24+ - 1. 全ての要素を走査して各要素を破棄
25+ - 2. 全てのバケットを走査して各バケットの状態をリセット
26+ +多くの実装(GCC libstdc++, LLVM libc++ など)は
27+ +
28+ +1. 全ての要素を走査して各要素を破棄
29+ +2. 全てのバケットを走査して各バケットの状態をリセット
30+
31+ という手順を取るため、実際の実行時間はバケット数 [`bucket_count`](bucket_count.md)`()` について線形となる (`size() & lt;= bucket_count() * `[`max_load_factor()`](max_load_factor.md) = O(`bucket_count()`) であることに注意)。
32+ 規格の計算量の要件は要素数 `size()` に線形となっているが、規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査などを考慮していない。
33+ @@ -48,7 +49,7 @@ void clear() noexcept;
34+ ## 備考
35+ - `clear()` がバケット数([`bucket_count`](bucket_count.md)`()`)を縮小することを規格は要求していない。
36+ 実装によっては `clear()` 後もバケット配列が維持され、動的メモリが残る場合がある。
37+ -- バケット数を初期状態まで縮小させたいときには以下のように操作を行う
38+ +- バケット数を初期状態まで縮小させたいときには `clear()` の代わりに以下のように操作する
39+ ```cpp
40+ um = std::unordered_map& lt;std::string, int& gt;();
41+ ```
42+ < /code>< /pre> </summary >
43+
44+ <author >
45+ <name >Koki Watanabe</name >
46+ <email >56009584+math-hiyoko@users.noreply.github.com</email >
47+ </author >
48+ </entry >
49+
950 <entry >
1051 <title >clear -- fix: reflect discussions on the PR</title >
1152 <link href =" https://cpprefjp.github.io/reference/unordered_map/unordered_map/clear.html" />
@@ -390,120 +431,4 @@ index e91f81b0b..5f72a8196 100644
390431 </author >
391432 </entry >
392433
393- <entry >
394- <title >clear -- fix: minor fix</title >
395- <link href =" https://cpprefjp.github.io/reference/unordered_map/unordered_map/clear.html" />
396- <id >202823f1b3367e7eb4a9a9f7be0bbd14b493ad3a:reference/unordered_map/unordered_map/clear.md</id >
397- <updated >2025-05-26T23:30:15+09:00</updated >
398-
399- <summary type =" html" >< pre>< code> diff --git a/reference/unordered_map/unordered_map/clear.md b/reference/unordered_map/unordered_map/clear.md
400- index be2530f47..e91f81b0b 100644
401- --- a/reference/unordered_map/unordered_map/clear.md
402- +++ b/reference/unordered_map/unordered_map/clear.md
403- @@ -38,8 +38,8 @@ void clear() noexcept;
404-
405- ### 計算量に関する備考
406- - 多くの実装(GCC libstdc++, LLVM libc++ など)は
407- - 1. 全ての要素を破棄する
408- - 2. 全てのバケットを順に走査して各バケットを初期化
409- + 1. 全ての要素を走査して各要素を破棄
410- + 2. 全てのバケットを走査して各バケットを初期化
411-
412- という手順を取るため、実行時間は概ね [`size`](size.md)`()` + [`bucket_count`](bucket_count.md)`()` に比例する傾向がある。
413- 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査を考慮せず「コンテナの全要素を削除する」として、全要素数Nに対してO(N)に規定されるが、実行時間に影響する時間計算量としてはバケット数Cに対して線形となる。
414- < /code>< /pre> </summary >
415-
416- <author >
417- <name >koki watanabe</name >
418- <email >address8128@gmail.com</email >
419- </author >
420- </entry >
421-
422- <entry >
423- <title >clear -- fix: minor fix</title >
424- <link href =" https://cpprefjp.github.io/reference/unordered_map/unordered_multimap/clear.html" />
425- <id >202823f1b3367e7eb4a9a9f7be0bbd14b493ad3a:reference/unordered_map/unordered_multimap/clear.md</id >
426- <updated >2025-05-26T23:30:15+09:00</updated >
427-
428- <summary type =" html" >< pre>< code> diff --git a/reference/unordered_map/unordered_multimap/clear.md b/reference/unordered_map/unordered_multimap/clear.md
429- index ffa0832a4..3c02d091b 100644
430- --- a/reference/unordered_map/unordered_multimap/clear.md
431- +++ b/reference/unordered_map/unordered_multimap/clear.md
432- @@ -38,8 +38,8 @@ void clear() noexcept;
433-
434- ### 計算量に関する備考
435- - 多くの実装(GCC libstdc++, LLVM libc++ など)は
436- - 1. 全ての要素を破棄する
437- - 2. 全てのバケットを順に走査して各バケットを初期化
438- + 1. 全ての要素を走査して各要素を破棄
439- + 2. 全てのバケットを走査して各バケットを初期化
440-
441- という手順を取るため、実行時間は概ね [`size`](size.md)`()` + [`bucket_count`](bucket_count.md)`()` に比例する傾向がある。
442- 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査を考慮せず「コンテナの全要素を削除する」として、全要素数Nに対してO(N)に規定されるが、実行時間に影響する時間計算量としてはバケット数Cに対して線形となる。
443- < /code>< /pre> </summary >
444-
445- <author >
446- <name >koki watanabe</name >
447- <email >address8128@gmail.com</email >
448- </author >
449- </entry >
450-
451- <entry >
452- <title >clear -- fix: minor fix</title >
453- <link href =" https://cpprefjp.github.io/reference/unordered_set/unordered_multiset/clear.html" />
454- <id >202823f1b3367e7eb4a9a9f7be0bbd14b493ad3a:reference/unordered_set/unordered_multiset/clear.md</id >
455- <updated >2025-05-26T23:30:15+09:00</updated >
456-
457- <summary type =" html" >< pre>< code> diff --git a/reference/unordered_set/unordered_multiset/clear.md b/reference/unordered_set/unordered_multiset/clear.md
458- index 94488f299..8120d2c23 100644
459- --- a/reference/unordered_set/unordered_multiset/clear.md
460- +++ b/reference/unordered_set/unordered_multiset/clear.md
461- @@ -38,8 +38,8 @@ void clear() noexcept;
462-
463- ### 計算量に関する備考
464- - 多くの実装(GCC libstdc++, LLVM libc++ など)は
465- - 1. 全ての要素を破棄する
466- - 2. 全てのバケットを順に走査して各バケットを初期化
467- + 1. 全ての要素を走査して各要素を破棄
468- + 2. 全てのバケットを走査して各バケットを初期化
469-
470- という手順を取るため、実行時間は概ね [`size`](size.md)`()` + [`bucket_count`](bucket_count.md)`()` に比例する傾向がある。
471- 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査を考慮せず「コンテナの全要素を削除する」として、全要素数Nに対してO(N)に規定されるが、実行時間に影響する時間計算量としてはバケット数Cに対して線形となる。
472- < /code>< /pre> </summary >
473-
474- <author >
475- <name >koki watanabe</name >
476- <email >address8128@gmail.com</email >
477- </author >
478- </entry >
479-
480- <entry >
481- <title >clear -- fix: minor fix</title >
482- <link href =" https://cpprefjp.github.io/reference/unordered_set/unordered_set/clear.html" />
483- <id >202823f1b3367e7eb4a9a9f7be0bbd14b493ad3a:reference/unordered_set/unordered_set/clear.md</id >
484- <updated >2025-05-26T23:30:15+09:00</updated >
485-
486- <summary type =" html" >< pre>< code> diff --git a/reference/unordered_set/unordered_set/clear.md b/reference/unordered_set/unordered_set/clear.md
487- index 188ae2c6d..064325559 100644
488- --- a/reference/unordered_set/unordered_set/clear.md
489- +++ b/reference/unordered_set/unordered_set/clear.md
490- @@ -38,8 +38,8 @@ void clear() noexcept;
491-
492- ### 計算量に関する備考
493- - 多くの実装(GCC libstdc++, LLVM libc++ など)は
494- - 1. 全ての要素を破棄する
495- - 2. 全てのバケットを順に走査して各バケットを初期化
496- + 1. 全ての要素を走査して各要素を破棄
497- + 2. 全てのバケットを走査して各バケットを初期化
498-
499- という手順を取るため、実行時間は概ね [`size`](size.md)`()` + [`bucket_count`](bucket_count.md)`()` に比例する傾向がある。
500- 規格がコンテナに対して定義する計算量は「コンテナに格納している要素に対する操作の数の計算量」であるためバケットの走査を考慮せず「コンテナの全要素を削除する」として、全要素数Nに対してO(N)に規定されるが、実行時間に影響する時間計算量としてはバケット数Cに対して線形となる。
501- < /code>< /pre> </summary >
502-
503- <author >
504- <name >koki watanabe</name >
505- <email >address8128@gmail.com</email >
506- </author >
507- </entry >
508-
509434</feed >
0 commit comments