Tag: Cpp20

Lightning Talk: C++20 – A New Way of Meta-Programming? – by Kris Jusiak – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Lightning Talk: C++20 - A New Way of Meta-Programming? - Kris Jusiak - CppCon 2022
https://github.com/CppCon/CppCon2022

In this lightning talk we will explore a few template meta cppcon.digital-medium.co.uk/tag/programming/">programming techniques which C++20 enables.
---

Kris Jusiak

Kris is a Senior Software Architect passionate about cppcon.digital-medium.co.uk/tag/programming/">programming and who has worked in different industries over the years including telecommunications, games and most recently finance for Quantlab Financial, LLC. He has an interest in modern C++ development with a focus on performance and quality. He is an open-source enthusiast with multiple open-source libraries where he uses template meta-cppcon.digital-medium.co.uk/tag/programming/">programming techniques to support the C++ rule - "Don't pay for what you don't use" whilst trying to be as declarative as possible with a help of domain-specific languages. Kris is also a keen advocate of extreme cppcon.digital-medium.co.uk/tag/programming/">programming techniques, Test/Behavior Driven Development and truly believes that 'the only way to go fast is to go well!'.
__

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

Lightning Talk: Using This Correctly it’s [[unlikely]] at Best – by Staffan Tjernstrom – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Lightning Talk: Using This Correctly it's [[unlikely]] at Best - Staffan Tjernstrom - CppCon 2022
https://github.com/CppCon/CppCon2022

A real life based example of [[unlikely]] in action.
---

Staffan Tjernstrom
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

Lightning Talk: The Decade Long Rewind: Lambdas in C++ – Pranay Kumar – CppCon 2022

https://cppcon.org/
---

Lightning Talk: The Decade Long Rewind: Lambdas in Cpp - Pranay Kumar - CppCon 2022
https://github.com/CppCon/CppCon2022

The talk is about how lambdas have evolved from C++11 to C++20, what have changed and how much it has changed. Few quick examples would be covered. In case you as a programmer are not taking full advantage of lambdas metamorphosis that has been, this is talk to attend.
---

Pranay Kumar
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #lambda

Filed under: UncategorizedTagged with: , , , ,

Lightning Talk: Finding Whether a Number is a Power of 2 – Ankur Satle – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Lightning Talk: Finding Whether a Number is a Power of 2 and C++20 - Ankur Satle - CppCon 2022
https://github.com/CppCon/CppCon2022

I asked this question on social media and got many diverse responses. I will present the various approaches and compare them. I will finish with the options C++20 provides with the bit header. https://en.cppreference.com/w/cpp/numeric/has_single_bit
---

Ankur Satle
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #c++

Filed under: UncategorizedTagged with: , , , ,

Lightning Talks: -std=c++20 — Will It Compile? That is the Question – Tulio Paschoalin Leao – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Lightning Talks: -std=c++20 -- Will It Compile? That is the Question - Tulio Leao - CppCon 2022
https://github.com/CppCon/CppCon2022

New versions of the standard come and go and every team takes its time to adopt them, C++20 being no different. Come see some compilation issues found when porting to C++20 and ways to solve them for when the times come for yours!
---

Tulio Leao
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

Using std::chrono Calendar Dates for Finance in Cpp – Daniel Hanson – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Using std::chrono Calendar Dates for Finance in C++ - Daniel Hanson - CppCon 2022
https://github.com/CppCon/CppCon2022

Dates and date calculations might not sound exciting, but they are vitally important in financial software development, particularly in areas such as fixed income analytics, mortgage backed-securities (MBS), and interest rate derivatives. A prime example is in applying the correct day-count convention to interest rate derivative calculations, as failure to do so can result in potentially significant losses for a trading desk.

Up until C++20, C++ financial developers had to rely on an external library for dates, or write their own customized code. This has now fortunately changed with the addition of the `std::chrono` calendar date classes.

Some of the operations are not exactly trivial, however, as one needs to identify and use the appropriate tools in the library. For example, naively applying the addition assignment operator to add a period of two months to December 30 can result in an invalid date of February 30. Another possible complication is if a date generated in a payment schedule falls on a non-business day at the end of the month. Remedies in these cases are provided by using a std::chrono object that represents the last day of the month object rather than a standard date.

Handling edge cases such as these is standard fare in working with financial date calculations. Methods available in `std::chrono` to adjust for them will be presented, and then parlayed into designing C++ code to properly generate a schedule of cash flows, perform business day adjustments for weekends and end of the month, construct and interpolate a term structure of interest rates, and calculate the present value of fixed income securities such as bonds and interest rate swaps.
---

Daniel Hanson

Daniel Hanson spent 24 years in quantitative development in finance, primarily with C++ implementation of option pricing and portfolio risk models, and related library development. He subsequently held a full-time lecturer position through 2022 in the Department of Applied Mathematics at the University of Washington, teaching quantitative development courses in the Computational Finance & Risk Management (CFRM) graduate and undergraduate programs. This included intermediate and advanced classes in computational C++, and mentoring students in Google Summer of Code projects involving implementation of mathematical models in C++ and R.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

How C++23 Changes the Way We Write Code – Timur Doumler – CppCon 2022

https://cppcon.org/
---

How C++23 Changes the Way We Write Code - Timur Doumler - CppCon 2022
https://github.com/CppCon/CppCon2022

C++20 was a huge release: coroutines, concepts, ranges, and modules profoundly changed the way we write code and think about C++. In comparison, C++23 is a lot smaller in scope: its primary mission is to complete C++20, to fill holes, and to fix issues. Nevertheless, some great new features made the cut this time around, both in the standard library and in the core language. This is even more remarkable considering that the entire feature design phase of C++23 took place during the COVID-19 pandemic, challenging the ISO C++ committee to completely reinvent how we work together.

This is not a firehose talk about C++23 that tries to cram as many additions and improvements as possible into one hour. Instead, we deliberately focus on just a handful of new features that are going to noticeably change and improve the experience of the everyday C++ programmer. We will talk about how `std::expected` improves error handling, the huge impact that `std::mdspan` will have on scientific computing, how deducing `this` greatly simplifies longstanding C++ idioms such as CRTP, and how `std::print` will forever change how we write "Hello, World".
---

Timur Doumler

Timur Doumler is the Developer Advocate for C++ tools at JetBrains and an active member of the ISO C++ standard committee. As a developer, he worked many years in the audio and music technology industry and co-founded the music tech startup Cradle. Timur is passionate about building inclusive communities, clean code, good tools, low latency, and the evolution of the C++ language.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon #programming #coding

Filed under: UncategorizedTagged with: , , , , ,

Breaking Dependencies – The Visitor Design Pattern in Cpp – Klaus Iglberger – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Breaking Dependencies - The Visitor Design Pattern in C++ - Klaus Iglberger - CppCon 2022
https://github.com/CppCon/CppCon2022

The extensibility of code with new functionality is essential for long-term maintenance of a code base. However, when using dynamic polymorphism there is always a choice: either easily add types, or easily add operations. For instance, by means of inheritance hierarchies it's easy to add new types, but it's difficult to add new operations.
But there is a common workaround to overcome this weakness: the Visitor design pattern.

In this talk, I’ll explain the design properties of Visitor, including its benefits and shortcomings. I’ll also talk about different kinds of visitors (cyclic and acyclic) and show when to reach for a Visitor and when to avoid it. Additionally, I’ll demonstrate the different implementation strategies (classic and modern) and address their individual benefits and problems.
---

Klaus Iglberger

Klaus Iglberger is a freelance C++ trainer and consultant. He has finished his PhD in Computer Science in 2010 and since then is focused on large-scale C++ software design. He shares his expertise in popular advanced C++ courses around the world (mainly in Germany, but also in the rest of the EU and the US). Additionally, he is the initiator and lead designer of the Blaze C++ math library (https://bitbucket.org/blaze-lib/blaze/), one of the organizers of the Munich C++ user group (https://www.meetup.com/MUCplusplus/), and the organizer of the Back-to-Basics track at CppCon.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

New in Visual Studio 2022 – Conformance, Performance, Important Features – by Marian Luparu & Sy Brand

https://cppcon.org/
---

What's New in Visual Studio 2022 - Conformance, Performance, Features of Importance - Marian Luparu & Sy Brand - CppCon 2022
https://github.com/CppCon/CppCon2022

C++20 is stabilized, C++23 is on the horizon, the state of the art in security and devops practices is advancing, and of course, we always want our programs to run faster. We've been working in all of these areas and more to make Visual Studio a better IDE for everyone, no matter what platform you're targeting.

In this talk, we'll demonstrate the last year's work across the IDE, toolchain, vcpkg, and GitHub: libfuzzer and advanced asan support for finding security holes, C++20 modules support for CMake, new views and monitors for embedded developers, how we're leveraging vcpkg for improving toolset acquisition, and more.

We'll also show how we have improved our compiler's code generation for real-world scenarios by walking you through before-and-after assembly snippets.

Come along to learn all about the latest in our tooling, and to get a peek into our plans for the future.
---

Marian Luparu

Marian is the Group Product Manager for the C++ team at Microsoft, leading the team responsible for making Visual Studio, Visual Studio Code, MSVC compiler toolset and Vcpkg more productive for C++ developers
---

Sy Brand

Sy Brand is Microsoft’s C++ Developer Advocate. Their background is in compilers and debuggers for embedded accelerators, but they’re also interested in generic library design, metaprogramming, functional-style C++, undefined behaviour, and making our communities more welcoming and inclusive.
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #visualstudio

Filed under: UncategorizedTagged with: , , , , ,

C++20’s [[likely]] Attribute – Optimizations, Pessimizations, and [[unlikely]] Consequences – by Amir Kirsh & Tomer Vromen – CppCon 2022

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

C++20’s [[likely]] Attribute - Optimizations, Pessimizations, and [[unlikely]] Consequences - CppCon
https://github.com/CppCon/CppCon2022

C++20 added the [[likely]] and [[unlikely]] attributes, which formalize existing compiler builtins. As users of the latest standards, we all want to use them in our code and get better performance - but should we?

In this talk we investigate what these attributes mean, the risk of using them incorrectly (and even the risk of using them correctly!) and whether they’re actually worth the effort. We will dive deep into branch prediction, optimizations and pessimizations, and the art of benchmarking. We will see that in C++ questions that seem simple to begin with do not get a simple answer, but an interesting one!

Participants of the talk will hopefully improve their knowledge of performance tuning, and how to focus efforts in things that really matter for performance.
---

Amir Kirsh

C++ lecturer at the Academic College of Tel-Aviv-Yaffo and Dev Advocate at Incredibuild. Previously the Chief Programmer at Comverse. Co-organizer of Core C++ conference and a member of the Israeli ISO C++ NB. Currently a visiting researcher at Stony Brook University, New-York.

Tomer Vromen

Software engineer at Dell Technologies, cppcon.digital-medium.co.uk/tag/programming/">programming in C++ for 10 years. Interested in algorithms, software development, and long distance running.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,