The implication of const or reference member variables in C++ -- Lesley Lai

This article discusses why const or reference member variables can be problematic and the workarounds.

The implication of const or reference member variables in C++

by Lesley Lai

From the article:

I decide to write this post because the same problem raises several time by different people on Twitter and the #include <C++> discord server. There are solid reasons on why you should avoid const or reference member variables in C++...

Modern C++ Design Patterns (CppCon Online Training) -- Klaus Iglberger

After the first edition at CppCon 2019, the second edition of the popular workshop has been announced:

Modern C++ Software Patterns (Online Workshop)

by Klaus Iglberger

From the article:

Content of the training

Design patterns have proven to be useful over several decades and knowledge about them is still very useful to design robust, decoupled systems. Modern C++, however, has profoundly changed the way we use C++, think about design and implement solutions. This training explores modern C++ design and the modern forms of the classic design patterns. It provides guidelines, idioms and best practices for sustainable and maintainable design, which enable programmers to create professional, high-quality code. Amongst others it will answer the following questions:

  • How does good C++ design with a minimum of dependencies look like?
  • What are the most important rules for robust, maintainable, and sustainable design?
  • What are the most common pitfalls in C++ software design?
  • Why does classical C++ design based on inheritance hierarchies fail so often?
  • How are the classic design patterns realised in modern C++?
  • What are alternatives to the classic design patterns?

Date: September 9th - 11th, 2020

Location: Online training

Instructor: Klaus Iglberger

Level: Intermediate, Advanced

Boost Version 1.74.0

A new version is here.

Version 1.74.0

From the article:

New Libraries

  • STLInterfaces:

A library of CRTP bases to ease the writing of STL views, iterators, and sequence containers, from Zach Laine...

CppCon 2020 Embedded Track--Ben Saks

Will you attend?

CppCon 2020 Embedded Track

by Ben Saks

From the article:

Every year, CppCon offers C++ programmers a chance to exchange ideas with the rest of the C++ community. With the growing interest in autonomous vehicles, wearable devices, and IoT, embedded systems programming makes up an ever larger part of the community. In 2020, CppCon will expand on its past coverage of embedded topics by offering its first official Embedded Track...

More Lambda Features with C++20--Rainer Grimm

More lambda fun.

More Lambda Features with C++20

by Rainer Grimm

From the article:

Lambdas in C++20 can be default-constructed and support copy-assignment when they have no state. Lambdas can be used in unevaluated contexts. Additionally, they detect when you implicitly copy the this pointer. This means a significant cause of undefined-behavior with lambdas is gone...

New features in SYCL 2020

SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++.

New Features in SYCL 2020

by Codeplay

About the blog:

The SYCL 2020 specification has been released for public review as a provisional specification and the group is looking for developers to provide their valuable feedback before the final version is published and ratified. In this blog engineers from Codeplay that are also contributors to the SYCL Working Group, the team that defines the standard within Khronos, talk about what they think will make developing with SYCL even better when using SYCL 2020.

CopperSpice: Time Complexity

New video on the CopperSpice YouTube Channel:

Time Complexity

by Barbara Geller and Ansel Sermersheim

About the video:

In this video we investigate the topic of time complexity, explain a little of the mathematical background, and show its practical applications to C++ programming. We talk about some of the common time complexity notations, and which algorithms you should choose based on their time complexity properties.

Please take a look and remember to subscribe!

CppCon 2019: Writing Safety Critical Automotive C++ Software for AI Hardware--Michael Wong

This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.

To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!

Writing Safety Critical Automotive C++ Software for High Performance AI Hardware

by Michael Wong

Summary of the talk:

How can we make C++ in a Safe and secure way?
It is about time we talk about what it takes to create safe software, especially for automotive. This talk is about the practical engineering challenges of turning deep learning, classical machine vision and sensor fusion algorithms from research prototypes into real-world automotive-grade systems. We will summarize the many safety critical standards in general for C++ and specifically for autonomous vehicles (AV). These include the updates to MISRA, AUTOSAR, and our own SG12 which has been processing updates from WG23 for C++. We have been working hard in these standards bodies and with industrial partners to deliver automotive-grade, safe, high performance AI software development tools.
We will further review C++ Directions that supports this and reveal the road map for what is possibly the earliest Safety Critical C++ that is also capable of heterogeneous dispatch for AV.

CppCon 2020 Back to Basics Track--Arthur O'Dwyer

Will you attend?

CppCon 2020 Back to Basics Track

by Arthur O'Dwyer

From the article:

In 2020, as in 2019, CppCon will have a Back to Basics Track. This track’s mission is to cover all the essentials of modern C++. Each session in the track is about a single concrete topic, often expressible in just one or two words: Templates. Exception-safety. Move semantics. Our goal is to fit these sessions together like jigsaw pieces to produce a track that covers “everything you need to know” to be a working programmer in today’s C++ community...