CppCon 2017: Bryce Adelstein Lelbach “C++17 Features (part 1 of 2)”

preview_player
Показать описание


The feature set for the C++17 release is set, and the release of the standard is just around the corner. In this session, we'll discuss all the new C++ features in C++17 and how they'll change the way we write C++ software. We'll explore the new standard in breath, not width, covering a cornucopia of core language and library features and fixes:

Language Changes (part 1):
Structured bindings
Selection statements with initializers
Compile-time conditional statments
Fold expressions
Class template deduction
auto non-type template parameters
inline variables
constexpr lambdas
Unary static_assert
Guaranteed copy elision
Nested namespace definitions
Preprocessor predicate for header testing

Library Changes (part 2):
string_view
optional
variant
any
Parallel algorithms
Filesystem support
Polymorphic allocators and memory resources
Aligned new
Improved insertion and splicing for associative containers
Math special functions
Variable templates for metafunctions
Boolean logic metafunctions

Bryce Adelstein Lelbach: NVIDIA, Senior Software Engineer

Bryce Adelstein Lelbach is a senior software engineer on the CUDA driver team at NVIDIA. Bryce is passionate about parallel programming. He maintains Thrust, a C++ parallel algorithms library, and he is one of the developers of the HPX C++ runtime system. He spent five years working on HPX while he was at Louisiana State University's Center for Computation and Technology, and three years at Lawrence Berkeley National Laboratory (a US Department of Energy research facility) developing and analyzing new parallel programming models for exascale and post-Moore architectures. He also helped start the LLVMLinux initiative, and has occasionally contributed to the Boost C++ libraries. Bryce is an organizer for the C++Now and CppCon conferences as well as the Bay Area C++ user group, and he is passionate about C++ community development. He is a member of the ISO C++ standard committee, and worked on the C++17 parallel algorithms.


*-----*
*-----*
Рекомендации по теме
Комментарии
Автор

My ophthalmologist uses these slides to check if one is shortsighted.

michelecostantino
Автор

Thank you1/6 part of the screen is for code. 1/4 for you and title, and all the other for.... nothing.
Difficult to see the code, but I see you and your title and the big blue perfectly.

DGDG
Автор

Re structured bindings: Other types that are bindable are the node handles from the new map splicing interface, and the return types of the new elementary numeric conversion functions.

thomaskoppe
Автор

This presentation is evidence that you need to review your ‘slides’ in the environment that they are presented. The text is too small with way too much unused ‘white space’.

stephenjames
Автор

Lots of cool features but the class template type deduction and other weirdness with type deduction is concerning and disheartening. We already have the auto keyword, so why is it not being reused? There is no need for this feature bloat, it adds more with barely any effect.

ytsas
Автор

I may not be a pro but the explanations given seem opaque, especially in the *constexpr* examples

GeorgePapageorgakis
Автор

Any news about a std::ignore equivalent for structured binding for C++20?

timhaines
Автор

Can anyone explain [logically] why sheet 19, left locked? why not explain here ?

kamalabuhenamostafa
Автор

I want to see headers disappear by the next iteration.

luk
Автор

what if I do not want to use auto for MultipleReturnValues?

ongamex
Автор

It is "incredible" to see C++ still heading to a wrong direction after 2017. People want a standard build system and a compressive library (networking, HTTP, etc) or library management system like pip for python If standardizing a compressive library is difficult.

davidyang
Автор

Otherwise they are still destroying the language, only a few good features in the ocean or useless overcomplicated hacks.

ongamex
Автор

This talk has just reinforced how garbage C++ is.

Moriadin