Тёмный

Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023 

CppCon
Подписаться 150 тыс.
Просмотров 18 тыс.
50% 1

cppcon.org/
---
Effective Ranges: A Tutorial for Using C++2x Ranges - Jeff Garland - CppCon 2023
github.com/CppCon/CppCon2023
This course provides in introduction to using C++ ranges effectively. Ranges are the largest revamp of the Standard Template Library (STL) in 20 years and impacts daily C++ programming dramatically. The presentation provides a survey of C++20 and C++23 ranges and their application. Note that C++14/17 programmers can also benefit since Range v3 library provides an implementation of many of the discussed facilities.
The tutorial goes beyond the basics to explore what's behind the ranges library. For example, understand the key differences between algorithms and views and when to apply them. We'll look at some of the concepts used in the design of ranges. And finally we'll explore how ranges fits into the wider standard library with i/o integration, collection integration, and support of legacy stl algorithms.
Chock full of example code this tutorial will bootstrap programmer's usage of std::ranges.
---
Jeff Garland
Jeff Garland has worked on many large-scale, distributed software projects over the past 30+ years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written C++ networked code for several large systems including the development high performance network servers and data distribution frameworks. Mr. Garland’s interest in Boost started in 2000 as a user. Since then he has developed Boost.date_time, become a moderator, served as a review manager for several libraries (including asio and serialization), administered the Boost wiki, and served as a mentor for Google Summer of Code. Mr. Garland holds a Master’s degree in Computer Science from Arizona State University and a Bachelor of Science in Systems Engineering from the University of Arizona. He is co-author of Large Scale Software Architecture: A Practical Guide Using UML. He is currently Principal Consultant for his own company: CrystalClear Software, Inc and assistant chair of the Library Working Group for the C++ standards committee.
---
Videos Filmed & Edited by Bash Films: www.BashFilms.com
RU-vid Channel Managed by Digital Medium Ltd: events.digital-medium.co.uk
---
Registration for CppCon: cppcon.org/registration/
#cppcon #cppprogramming #cpp

Наука

Опубликовано:

 

14 дек 2023

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 17   
@VoidloniXaarii
@VoidloniXaarii 6 месяцев назад
Thank you so much for this rather mind-blow/opening talk. The future feels intimidating, even discouraging to my little knowledge, and yet so full of awesome promise and gut feeling tells me this stuff might be huge as c++ reinvents itself
@TheDoomista
@TheDoomista 7 месяцев назад
I was very confused why half of these examples don't work, then I went to linked godbolt example and realized much of the functionality described in this talk is only available in rangesv3 and not in the standard. Pity.
@DebashishGhoshOfficial
@DebashishGhoshOfficial 6 месяцев назад
For instance, the range_v3 join(delimeter) turns out to be join_with(delimeter) in the std library.
@NickDrian
@NickDrian 7 месяцев назад
Very useful, thanks!
@cristianinujazznight3044
@cristianinujazznight3044 6 месяцев назад
Ufff thank you so much :D
@user-ff8qw2ry6u
@user-ff8qw2ry6u 7 месяцев назад
C++3x+1 point plus linear algebra. Thank you cppcon.
@christianchung9412
@christianchung9412 7 месяцев назад
cool
@germanassasin1046
@germanassasin1046 7 месяцев назад
What always boggled my mind is that cpp folks call callable object a functor which is obviously not a functor. And now when they introduced concept similar to what functor actually is, they called it projection. Why?
@WutipongWongsakuldej
@WutipongWongsakuldej 7 месяцев назад
Probably because it has been that way for the past 30 years. Old habit dies hard I guess.
@dravorek
@dravorek 6 месяцев назад
"Callable" has been in the C++ standard for a while. As a specific concept it's in C++20 as std::invocable. Projections are very specifically not just any callable, they are unary callables that return a value.
@eugnsp
@eugnsp 4 месяца назад
Because in the most typical use case demonstrated in the presentation this is exactly how maths calls it.
@ABaumstumpf
@ABaumstumpf 2 месяца назад
That views cache is yet another red flag: Something is seriously wrong with just how much damage the committee is doing to the language. Also claiming the talk to be about std::ranges and then using rangev3 (which was objectively more mature and superior)... that is just wrong. The example at 40:00 - rv::join(string_view(" -- ")) That is NOT valid code when using std::ranges.
@fgfanta
@fgfanta 7 месяцев назад
I love C++ for sentimental reasons, the 3rd programming language that I started teaching myself when I was a boy, in the days of MS-DOS. But if it takes one hour to explain ranges... I don't know if I really want to learn these too.
@northwestfellow6416
@northwestfellow6416 4 месяца назад
It takes a little bit more than one hour, it is just a brief video ^_^
@ABaumstumpf
@ABaumstumpf 2 месяца назад
Why? as if 1-2 hours is a lot.... if you are too lazy for even that then i would assume you do not know how to program in any language to begin with.
@eugnsp
@eugnsp 4 месяца назад
Inability to pass views by const-ref is ridiculous.
Далее
Better C++ ranges - Arno Schödl - Meeting C++ 2023
1:04:59
DOTA 2 - КЛАССИКА
19:17
Просмотров 269 тыс.
Why I Chose Rust Over Zig
33:18
Просмотров 9 тыс.
Dear Functional Bros
16:50
Просмотров 477 тыс.
The Rust Standard Library is SO Confusing...Until Now!
11:45
Игровой Комп с Авито за 4500р
1:00
Телефон-електрошокер
0:43
Просмотров 79 тыс.
iPhone 15 Pro в реальной жизни
24:07
Просмотров 340 тыс.
Телефон-електрошокер
0:43
Просмотров 79 тыс.
Battery  low 🔋 🪫
0:10
Просмотров 6 млн