From b578107123123871fa9a4c96d47fafa8b4381c51 Mon Sep 17 00:00:00 2001 From: Nickle <1327502+nicklegr@users.noreply.github.com> Date: Tue, 29 Aug 2023 10:06:28 +0900 Subject: [PATCH] Update cpp20.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit containsのtypoを修正 --- docs/standardization/cpp20.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/standardization/cpp20.md b/docs/standardization/cpp20.md index b148f85..af3ad43 100644 --- a/docs/standardization/cpp20.md +++ b/docs/standardization/cpp20.md @@ -1333,7 +1333,7 @@ int main() C++17 では、`std::basic_string::reserve(size_type)` に現在の `capacity()` よりも小さい値が渡された際、shrink-to-fit を実行することが許可されていたため、注意深く使わないとメモリの再配置を頻繁に引き起こし、実行時性能を低下させることがありました。また、デフォルト引数として `0` が定義されており、`s.reserve()` と `s.shrink_to_fit()` で機能が重複するという問題や、shrink-to-fit を実行せずデフォルト引数も無い `std::vector::reserve(size_type)` との一貫性がないという問題がありました。C++20 からの新しい仕様では `std::vector` 側に合わせ、`std::basic_string::reserve(size_type)` に現在の `capacity()` よりも小さい値が渡された際には何もしないことが保証され、デフォルト引数も廃止(互換性のために deprecated 指定の `std::basic_string:reserve(void)` オーバーロードが追加)となり、これらの問題が解決されます。 -### 連想コンテナに `constains()` メンバ関数を追加 [(P0458R2)](https://wg21.link/P0458R2) +### 連想コンテナに `contains()` メンバ関数を追加 [(P0458R2)](https://wg21.link/P0458R2) ある要素が連想コンテナに含まれているか調べるための C++17 までのイディオムは、直感的でなく初心者にとっても明快ではありませんでした。C++20 からは、要素の存在をチェックする `contains(key)` メンバ関数が `std::map`, `std::multimap`, `std::set`, `std::multiset`, `std::unordered_map`, `std::unordered_multimap`, `std::unordered_set`, `std::unordered_multiset` に追加されます。 === "C++17"