🆕
C++ — Modern C++ (11/14/17/20)
auto, lambdas, smart pointers, move semantics, constexpr, концепты, ranges, structured bindings, вывод типов в современном C++.
32 вопросов · 32 показано
EasyЧем отличается auto от явного указания типа?automodern-cppMediumВ чём разница между auto, decltype и decltype(auto)?autodecltypeMediumПочему `auto x = {1, 2, 3};` создаёт std::initializer_list<int>?autoinitializer-listEasyЧто такое лямбда-выражение и какой тип у лямбды?lambdamodern-cppMediumВ чём разница между захватом по значению и по ссылке в лямбде?lambdaMediumЧто такое обобщённые лямбды (generic lambdas) и почему они появились только в C++14?lambdac++14EasyЧем nullptr отличается от NULL и 0?nullptrMediumЧто такое uniform initialization (фигурные скобки) и зачем оно нужно?initializationmodern-cppMediumЧто такое narrowing conversion и почему brace-init его запрещает?initializationEasyЧто такое std::make_unique и почему его предпочитают new?smart-pointersc++14MediumВ чём разница между std::make_shared и direct std::shared_ptr(new T)?smart-pointersMediumКогда следует использовать std::unique_ptr, а когда std::shared_ptr?smart-pointersMediumЧто такое std::weak_ptr и зачем он нужен?smart-pointersMediumЧто такое move semantics и для чего она нужна?move-semanticsrvalueMediumЧто такое rvalue reference и чем отличается от lvalue reference?rvaluemove-semanticsHardЧто такое perfect forwarding и как он работает?perfect-forwardingrvalueHardЧто такое reference collapsing и какие правила?reference-collapservalueMediumЧем std::move отличается от std::forward?move-semanticsperfect-forwardingMediumЧто такое constexpr и чем отличается от const?constexprcompile-timeHardВ чём разница между constexpr и consteval?constexprconstevalc++20EasyЧто такое structured bindings (C++17)?c++17structured-bindingsMediumЧто такое if constexpr и чем он отличается от обычного if?c++17if-constexprMediumЧто такое std::optional и когда его использовать?c++17optionalMediumЧто такое std::variant и в чём его отличие от union?c++17variantMediumЧто такое std::any и когда его применять?c++17anyMediumЧто такое std::string_view и какие у него опасности?c++17string-viewHardЧто такое концепты (concepts) в C++20?c++20conceptsHardЧто такое ranges в C++20 и почему они лучше алгоритмов из <algorithm>?c++20rangesHardЧто такое modules в C++20 и чем они заменяют #include?c++20modulesHardЧто такое coroutines в C++20?c++20coroutinesEasyЧто такое designated initializers (C++20)?c++20initializationMediumКакие основные нововведения в каждой версии C++ с 11 по 20?historystandards