From 3ed2c7de7b2143a71fbceedb1a279bc51d64e9c5 Mon Sep 17 00:00:00 2001 From: Nekrolm Date: Sun, 24 Sep 2023 18:15:46 +0100 Subject: [PATCH] remove notes about C++20 backport for range-based-for --- lifetime/lifetime_extension.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lifetime/lifetime_extension.md b/lifetime/lifetime_extension.md index 27c5189..0c82665 100644 --- a/lifetime/lifetime_extension.md +++ b/lifetime/lifetime_extension.md @@ -175,7 +175,7 @@ int main() { } ``` -"Ну тут же сам себе злой буратино" -- скажут опытные защитники C++: "Зачем ссылка, если там и так reference_wrapper". И будут, разумеется правы. Но не переживайте. В C++23 (а также С++20, потому что ее бекпортировали) теперь есть такая же сломанная конструкция как и `match` в Rust. И это... [`range-based-for`](for_loop.md)! +"Ну тут же сам себе злой буратино" -- скажут опытные защитники C++: "Зачем ссылка, если там и так reference_wrapper". И будут, разумеется правы. Но не переживайте. В C++23 теперь есть такая же сломанная конструкция как и `match` в Rust. И это... [`range-based-for`](for_loop.md)! Удивительнейшим образом изменения в стандарте, направленные на то чтоб починить висячую ссылку в конструкции @@ -222,7 +222,7 @@ int main() { for (auto token: m.lock().get().tokens()) { std::cout << token << "\n"; - m.lock(); // deadlock C++23 (C++20 after backport!) + m.lock(); // deadlock C++23 } }