October 2021

Cppcon 2021 3D Graphics for Dummies--Chris Ryan

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

3D Graphics for Dummies

Wednesday, October 27 • 4:45pm - 5:45pm

by Chris Ryan

Summary of the talk:

Three-dimensional graphics are much simpler than you would think. I will present the rudimentary techniques for the designs of a simple C++ Matrix library and operator methodologies, through an introduction to 3D Graphics: Points, Vectors, Coordinate Spaces, Matrix Math, Depth Buffer and Rasterization.

We will explore the blood and guts of a C++ Matrix library and 3D graphics. Rather than using off-the-shelf libraries like Unity and OpenGL, we will examine a simple library I wrote to teach myself about the subject. Includes demo of the graphics library/app.

Design Patterns VS Design Principles: Observer, State and Strategy

Do you know about them?

Design Patterns VS Design Principles: Observer, State and Strategy

by Jonathan Boccara

From the article:

In this series of articles on design patterns and design principles, we analyse how the 23 GoF design patterns relate to the 9 GRASP design principles.

In a previous article, we classified the GRASP patterns like this (excluding “Managing complexity”).

The study we perform in this series is helpful to understand better both the GoF and the GRASP, with the goal of taking better decisions when it comes to organizing our code.

The GoF design patterns come from the seminal Design Patterns book. The GRASP design principles are explained in Craig Larman’s Applying UML and Patterns.

In this episode of the series, we examine the Observer, State and Strategy design patterns...

Cppcon 2021 Implementing static_vector: How Hard Could it Be?--David Stone

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

Implementing static_vector: How Hard Could it Be?

October 25 • 4:45pm - 5:45pm

by David Stone

Summary of the talk:

static_vector is a std::vector that allocates things on the stack instead of the heap. We have std::vector, so it should be easy to write a non-allocating version, right?

Sadly, it's not quite that simple. There are many aspects of the vector interface that make sense based on a container that can reallocate, but do not make sense for a container that cannot. This leads to some API differences. static_vector also faces certain challenges around constexpr that makes it both more and less constexpr than std::vector.

We will go into detail on how std::vector and how static_vector work, how they are similar, and how they differ. This presentation will be focusing on lower-level details and interactions with specific language features in C++20 and (hopefully) C++23. There will be lots of code examples, and we'll step through how they work and where they fall short, trying to build up to a working, production-ready solution.

6 Ways to Refactor new/delete into unique ptr--Bartlomiej Filipek

Do you have that problem?

6 Ways to Refactor new/delete into unique ptr

by Bartlomiej Filipek

From the article:

In legacy code, you can often spot explicit new and delete lurking in various places and waiting to produce pointer-related issues. This blog post shows six patterns to improve that erroneous style and rely on modern techniques, especially unique_ptr and other helper standard types...

Automatic Return Type (C++98)--Rainer Grimm

The series continue.

Automatic Return Type (C++98)

by Rainer Grimm

From the article:

Depending on the used C++ standard, there are different ways to return the right return type of a function template. In this post, I start with traits (C++98), continue in my next post with C++11/14, and end with concepts (C++20)...

About Student- and Supporttickets and volunteering at Meeting C++ 2021

You can register until the end of October for the Student and Supporttickets, or apply as a volunteer for Meeting C++ 2021.

About Student- and Supporttickets and volunteering at Meeting C++ 2021

by Jens Weller

From the article:

A quick reminder, that you can register for the Student and Supporttickets for Meeting C++ 2021 until the end of October! Plus a bit on volunteering.

Like in the last years Meeting C++ also offers in 2021 a way to attend the conference for Students through the Studentticket and for various other groups through the Supportticket. This years conference is online and a unique opportunity to get to know the C++ community. You'll be able to attend the conference for the full 3 days, Hubilo is a great platform to view the sessions or hang out in the lounge to have a discussion about C++.

Design Idioms from an Alternate Universe--Ivan Čukić

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

Design Idioms from an Alternate Universe

Wednesday, October 27 • 10:30am - 11:30am

by Ivan Čukić

Summary of the talk:

This session is part of the Software Design Track.

It is common to see different design idioms and patterns in different programming paradigms as they represent /the way/ something should be implemented in a given paradigm, and each paradigm is special enough for its way to be completely different to the way taken by the other ones.

While C++ is an one of a kind multiparadigm langugage, people tend to use object-oriented patterns with it most of the time. Generic and functional programming are also where C++ shines, so why avoid learning and using idioms from those two paradigms? People often think that they need to stick to a single paradigm not realizing that the true power lies in skillfully combining all of them.

This talk will present several software design idioms that people usually connect with generic and functional programming disciplines, but which are highly applicable to the usual code most of the contemporary C++ developers write every day.

KDAB at CppCon 2021--Charlotte Johansson

Will you attend?

KDAB at CppCon 2021

by Charlotte Johansson

From the article:

CppCon is the annual, week-long face-to-face gathering for the entire C++ community – the biggest C++ event in the world. This year, CppCon takes place both Online and at the Gaylord Rockies Hotel and Convention Center in Aurora, Colorado.

KDAB is a Registration sponsor, and Ivan Čukić is offering a talk on Wednesday, October 27th 10:30 am – 11:30 am MDT as part of the Software Design Track...

CppCon 2021 A (Short) Tour of C++ Modules--Daniela Engert

Registration is now open for CppCon 2021, which starts on October 24 and will be held both in person and online. To whet your appetite for this year’s conference, we’re posting some upcoming talks that you will be able to attend this year. Here’s another CppCon future talk we hope you will enjoy – and register today for CppCon 2021 to attend in person, online, or both!

A (Short) Tour of C++ Modules

Thursday, October 28 • 10:30am - 11:30am

by Daniela Engert

Summary of the talk:

Modules are probably the most impactful and most transformative recent major addition to the C++ language. From a user perspective, Modules are conceptually simple and the idea is easy to grasp. And with the C++20 ecosystem maturing, using Modules and adopting them into every-day programming is both feasable and advantageous.

But what is the motivation that lead to the invention of Modules and their inclusion into the standard? How do they look like? Which are the three key features of C++ Modules that exist since the inception of the language, that are mostly irrelevant in the typical usage of 'classical' C++ such that hardly any programmer needs to know much about them but a Modules developer does? What surprises might lie on the path of transforming a classical library into a Module? Are there still any issues, loose ends or open questions regarding Modules?

The talk will try to give a comprehensive answer to those questions. The audience shall get enough information to decide when the right time has come for them to take the plunge and move their codebase to Modules wherever it is advantageous.