filmov
tv
CppCon 2018: Ben Deane “Operator Overloading: History, Principles and Practice”

Показать описание
—
—
Your code would benefit from greater use of operators. Really.
Operator overloading is such an unloved part of C++. It's not new, it's not
glamorous, it's frequently maligned for "syntax abuse", and often avoided due to
performance or implementation concerns. But operators deserve more
consideration! If you're designing types and interfaces, operators have the
potential to offer concision, clarity, and flexibility, and foster intuition in
a way that functions can't.
In this talk we'll look at past, current and likely future practices, from the
humble old operator+ on arithmetic types to new uses like operator/ to
concatenate paths, and beyond. We'll cover concrete guidelines for principled
operator usage and the implementation concerns involved.
—
Ben Deane
Ben was in the game industry for 23 years, at companies like EA and Blizzard. He's always looking for useful new techniques in C++, and he | geeks out on algorithms, APIs, types and functional programming.
—
*-----*
*-----*
—
Your code would benefit from greater use of operators. Really.
Operator overloading is such an unloved part of C++. It's not new, it's not
glamorous, it's frequently maligned for "syntax abuse", and often avoided due to
performance or implementation concerns. But operators deserve more
consideration! If you're designing types and interfaces, operators have the
potential to offer concision, clarity, and flexibility, and foster intuition in
a way that functions can't.
In this talk we'll look at past, current and likely future practices, from the
humble old operator+ on arithmetic types to new uses like operator/ to
concatenate paths, and beyond. We'll cover concrete guidelines for principled
operator usage and the implementation concerns involved.
—
Ben Deane
Ben was in the game industry for 23 years, at companies like EA and Blizzard. He's always looking for useful new techniques in C++, and he | geeks out on algorithms, APIs, types and functional programming.
—
*-----*
*-----*
CppCon 2018: Ben Deane “Operator Overloading: History, Principles and Practice”
CppCon 2018: Ben Deane “Easy to Use, Hard to Misuse: Declarative Style in C++”
Deducing this Patterns - Ben Deane - CppCon 2021
C++Now 2018: Ben Deane “Easing into Modern C++”
C++Now 2018: Ben Deane “Easy to Use, Hard to Misuse: Declarative Style in C++”
CppCon 2019: Ben Deane “Everyday Efficiency: In-Place Construction (Back to Basics?)”
Applicative: The Forgotten C++ Functional Pattern - Ben Deane - CppCon 2023
CppCon 2016: Ben Deane 'std::accumulate: Exploring an Algorithmic Empire'
CppCon 2015: Ben Deane “Testing Battle.net (before deploying to millions of players)'
CppCon 2017: Ben Deane & Jason Turner “constexpr ALL the Things!”
CppCon 2017: Ben Deane “std:: exchange Idioms”
Composable C++: Principles and Patterns - Ben Deane - CppCon 2021
CppCon 2018: William Clements “Save $$ Testing Code the Playback-Based Way”
CppCon 2018: Christopher Di Bella “How to Teach C++ and Influence a Generation”
CppCon 2018: Tom Poole “Why and How to Roll Your Own std::function Implementation”
Lightning Talk: Let's Write a Lambda in C++ - Ben Deane - CppCon 2023
CppCon 2018: Fabian Renn-Giles “A Semi Compile/Run-time Map with (Nearly) Zero Overhead Lookup”
CppCon 2016: Ben Deane “A Static Alternative to Virtual Functions, Using Expression SFINAE'
C++Now 2019: Ben Deane “What a Conference! NOW 30 That's What I Call C++”
CppCon 2018: Titus Winters “Standard Library Compatibility Guidelines (SD-8)”
CppCon 2018: CJ Johnson “Constexpr and operator overloading: Why everything is terrible”
CppCon 2018: Jon Cohen “Ensuring Exception Safety Through Testing'
Just-in-Time Compilation: The Next Big Thing? - Ben Deane & Kris Jusiak - CppCon 2020
CppCon 2018: Arthur O'Dwyer “Return Value Optimization: Harder Than It Looks”
Комментарии