Back to Basics: Classic 9STL
Back to Basics: Classic STL Bob Steagall CppCon 2021CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Overview • Rationale • History and design overview • Iterators • Containers • Algorithms 2CppCon 2021 – Back to Basics: Classic STL Copyright © 2021 Bob Steagall Goals and References • Goals • Understand overall STL design • Understand iterators • Recommended references The Standard C++ Library, Second Edition Nicolai M. Josuttis – Addison-Wesley 2012 • Effective STL Scott Meyers – O'Reilly 2001 • Programming: Principles and Practice Using C++, Second Edition Bjarne0 码力 | 75 页 | 603.36 KB | 5 月前3C++20 STL Features: 1 Year of Development on GitHub
C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej 1 Version 1.0 - September Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors 2Overview Part 0 3CppCon 2019 -> CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 989.72 KB | 5 月前3C++20 STL Features: 1 Year of Development on GitHub
September 15, 2020 1 C++20 STL Features: 1 Year of Development on GitHub Stephan T. Lavavej "Steh-fin Lah-wah-wade" Principal Software Engineer, Visual C++ Libraries stl@microsoft.com @StephanTLavavej2 Write down the slide numbers • Part 0: Overview • What's happened in the last year • Part 1: C++20 STL Features • Everything here is Standard, except as noted • Part 2: GitHub Development • For contributors Overview Part 04 CppCon 2019 CppCon 2020 • Announced at CppCon 2019 • github.com/microsoft/STL • Apache License v2.0 with LLVM Exception • Implemented ~50 C++20 features • Majority from our amazing0 码力 | 45 页 | 702.09 KB | 5 月前3A New Decade of Visual Studio: C++20, Open STL and More
Concepts • <=> three-way comparison operator • 84 STL features including • C++ synchronization library 🕙 Coming next • C++20 constexpr • Rest of 24 C++20 STL features • std::ranges, std::format & Chrono https://github.com/microsoft/STL 84 C++20 features completed 36 C++20 features externally contributed YOU ARE AWESOME! ✅ ✅ ✅ ✅ 🐱🏍 Visual Studio Tue 9/15 13:30 – 14:30 C++20 STL Features: One Year of of Development on GitHub Stephan T. Lavavej – generate_n() venue https://microsoft.github.io/STL/std::ranges Huge update in 16.8 Preview 3! • 95% complete 🏁 Try it today • Algorithms: sort, rotate0 码力 | 37 页 | 2.67 MB | 5 月前3C++26 for C++14 Developers: STL-Preview
C++26 for C++14 Developers: STL-Preview Author Tony Lee Reply-To cosgenio@gmail.com 1. Introduction Since the introduction of modern C++ in 2011, the language has seen seen numerous enhancements, particularly in compiler support and the STL. By 2024, C++23 has introduced many useful standard libraries like ranges, format, expected, and span. Despite these advancements paper introduces stl-preview2, a library that backports most of the latest STL features (including those from C++26) to C++14 (but not limited to), ensuring compatibility with existing STL implementations0 码力 | 3 页 | 129.06 KB | 5 月前3C++高性能并行编程与优化 - 课件 - 13 C++ STL 容器全解之 vector
C++ STL 容器全解之 vector by 彭于斌( @archibate ) 往期录播: https://www.bilibili.com/video/BV1fa411r7zp 课程 PPT 和代码: https://github.com/parallel101/course C++ 标准库五大件:容器( container ) C++ 标准库五大件:迭代器( iterator iterator ) C++ 标准库五大件:算法( algorithm ) C++ 标准库五大件:仿函数( functor ) C++ 标准库五大件:分配器( allocator ) 侯捷 STL 侯捷 STL vector 容器 vector 容器:构造函数 • vector 的功能是长度可变的数组,他里面的数据 存储在堆上。 • vector 是一个模板类,第一个模板参数是数组里 元素的类型。 对应到 链表的 curr = curr->next 上。 • 这样一个用起来就像普通的指针,但内部却通 过运算符重载适配不同容器的特殊类,就是迭 代器 (iterator) ,迭代器是 STL 中容器和算法 之间的桥梁。 迭代器模式:首迭代器+尾迭代器 • 如果让小彭老师来写 list 容器和他的迭代器,他的 内部具体实现可能是这样的。 • 迭代器的这些运算符,都是约定俗成的,其根本目0 码力 | 90 页 | 4.93 MB | 1 年前3Regular, Revisited
Regular, Revisited X Abstract “Regular” is not exactly a new concept. If we reflect back on STL and its design principles, as best described by Alexander Stepanov in his “Fundamentals of Generic taxonomies? Because STL assumes such properties about the types it deals with and imposes such conceptual requirements for its data structures and algorithms to work properly. STL vocabulary types caller. This talk will explore the relation between Regular types (plus other concepts) and STL constructs, with examples, common pitfalls and guidance.2023 Victor Ciura | @ciura_victor - Regular0 码力 | 180 页 | 19.96 MB | 5 月前3Pipes: How Plumbing Can Make Your C++ Code More Expressive
COLLECTIONS IN C++ -∞ Now ? for ( Before we realised STL algorithms were a thing When we realised they were important after all STL algorithms Modern C++ ranges4 auto const inputs = std::vector{1 end(inputs), back_inserter(results), [](int i){ return i * 2; }); STL ALGORITHMS auto const inputs = std::vector {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; auto results = std::vector {}; * 2; });19 push_back results OUTLINE OF THE REST OF THE TALK What gets in a pipeline ranges STL algorithms Multiple inputs The pipes Inside a pipe Branching out pipes The output of a pipeline 0 码力 | 61 页 | 9.52 MB | 5 月前3Constructing Generic Algorithms
1ALGORITHMS: THE SOUL OF THE STL ALGORITHMS: THE SOUL OF THE STL 3 . 1A WORD ABOUT RANGES A WORD ABOUT RANGES -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable doesn't exist? -- Everyone (justifying ranges) "STL algorithms are not composable." "STL algorithms are not composable." 4 . 1STL ALGORITHMS: A STUDY IN STL ALGORITHMS: A STUDY IN COMPOSABILITY COMPOSABILITY never designed to be complete.. The whole point of the STL is that decoupling containers (with the iterator abstraction) The whole point of the STL is that decoupling containers (with the iterator abstraction)0 码力 | 145 页 | 8.44 MB | 5 月前3Template-Less Meta-Programming
libraries!" Sean Baxter Sean Baxter 4 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) templatetemplate constexpr variant ::variant(T&& // Powered by TMP , // ... { } 5 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template template constexpr variant ::variant(T&& ..>>::type&&; // Powered by TMP 5 / 58[Examples] Standard Template Library (STL) [Examples] Standard Template Library (STL) template template constexpr variant ::variant(T&& 0 码力 | 130 页 | 5.79 MB | 5 月前3
共 353 条
- 1
- 2
- 3
- 4
- 5
- 6
- 36