August 2020

Cppcon: Instructor Interview: Klaus Iglberger / Modern C++ Design Patterns

A new interesting interview.

Instructor Interview: Klaus Iglberger / Modern C++ Design Patterns

From the video:

In this week’s instructor interview, Kevin Carpenter welcomes Klaus Iglberger for a discussion of his CppCon Academy class, Modern C++ Design Patterns. Kevin took this class with Klaus last year and they discuss how Klaus has adapted it for online instruction. Klaus also outlines the additions and improvement to last year’s presentation. Kevin shares how his codebase has incorporated the Design Patterns that are covered in the class...

Announcing Meeting C++ online!

Meeting C++ online is a series of virtual events organized by Meeting C++ for the C++ community.

Announcing Meeting C++ online!

by Jens Weller

From the article:

This year has brought a new age, and Meeting C++ will embrace this with hosting online only events in addition to the yearly conference. Its natural addition to what Meeting C++ already offers for the C++ Community. So Meeting C++ online will be a series of different virtual events organized by Meeting C++ for the C++ community.

CppCon 2019: C++ Code Smells--Jason Turner

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!

C++ Code Smells

by Jason Turner

Summary of the talk:

There are a lot of rules to remember for writing good C++. Which features to use? Which to avoid? The C++ Core Guidelines would be over 500 pages long if you were to try to print it! What happens if we swap this around and instead of Best Practices look at Code Smells. Coding decisions that should make you think twice and reconsider what you are doing.

We will ask:

* What are the most important code smells?
* Does it simplify the way we write code?

New Attributes with C++20--Rainer Grimm

More possibilities.

New Attributes with C++20

by Rainer Grimm

From the article:

With C++20, we got new and improved attributes such as [[nodiscard("reason")]], [[likely]], [[unlikely]], and [[no_unique_address]]. In particular, [[nodiscard("reason")]] allows it to express the intention of your interface way clearer...

Modern C++ Software Design (Online Training) -- Klaus Iglberger

The second online training on "Modern C++ Software Design" has been announced:

Modern C++ Software Design (Online Training)

by Klaus Iglberger

From the article:

Content of the training

This advanced C++ training is a course on good software design with the C++ programming language. The focus of the training is on the essential and C++-specific software development principles, concepts, idioms, and best practices, which enable programmers to create professional, high-quality code. The course aims at understanding the core of the C++ programming language, teaches guidelines to develop mature, robust, maintainable, and efficient C++ software with a minimum of dependencies, and helps to avoid the most common pitfalls.

Date: September 23rd - 25th, 2020

Location: Online training

Instructor: Klaus Iglberger

Level: Intermediate, Advanced

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...