C++ Core Guidelines: The Rules for in, out, in-out, consume, and forward Function Parameter

You have many choices to pass function parameters. You can pass by value or by reference. A reference can be const or non-const. You can even move or forward your parameters.  Your decision should depend on if it is an in, an out, an in-out, a consume, or a forward function parameter. Curious? Read the post!

Read more
Tags: functions
Views: 137724

"Concurrency with Modern C++" is 95% complete; Including all Source Files

Concurrency with Modern C++ is a journey through current and upcoming concurrency in C++. This the last early version of my book. Only a small chapter including the best practices is missing.

Read more
Views: 5471

C++ Core Guidelines: Function Definitions

Functions are the "fundamental building block of programs."  and "the most critical part in most interfaces."  These statements introduce the rules to function of the C++ core guidelines. Of course, both statements are absolutely right. So, lets dive deeper into the more than 30 rules for defining functions, passing arguments to functions, and returning values from functions.

Read more
Tags: functions
Views: 17985

C++ Core Guideline: The Guideline Support Library

The guidelines support library (GSL) is a small library for supporting the guidelines of the C++ core guidelines. It should help to write better C++ programs. Therefore, its key concerns are memory safety and type safety. They are already a few implementations of the GSL available.

Read more
Views: 65007

My Book "Concurrency with Modern C++" is 75% complete

Concurrency with Modern C++ is a journey through current and upcoming concurrency in C++. This early version includes the memory model, the current multithreading interface, the parallel STL, and concurrency with the upcoming C++20 standard.

Read more
Views: 5968

C++ Core Guidelines: Interfaces II

Interfaces are a contract between a service provider and a service consumer. The C++ Core Guidelines has 20 rules to make them right because "interfaces is probably the most important single aspect of code organization".

Read more
Views: 17335

C++ Core Guidelines: Interfaces I

Interfaces are a contract between a service provider and a service consumer. The C++ Core Guidelines has 20 rules to make them right because "interfaces is probably the most important single aspect of code organization".

Read more
Views: 32004

My Book "Concurrency with Modern C++" is 50% complete

Concurrency with Modern C++ is a journey through current and upcoming concurrency in C++. It includes the memory model and the current multithreading interface.

Read more
Views: 5951

C++ Core Guidelines: The Philosophy

Today, I will dig a little bit deeper into the C++ Core Guidelines. In my last post about the C++ Core Guidelines I wrote about the Introduction section. Today I write about the section that is "primarily for humans". This is the most general section and is called Philosophy. The rules are so general that you can apply them to each programming language.

Read more
Views: 23960

Why do we need Guidelines for Modern C++?

This subjective post is based on more than 15 years of experience as a trainer for C++, Python, and software development in general. In the last years, I was responsible for the software and the team for building software for defibrillators. That included the regulatory affairs for our devices. Writing software for a defibrillator is extremely challenging because they can cause death or serious injury for the patient and the operator.

Read more
Views: 14700

My Newest E-Books

Course: Modern C++ Concurrency in Practice

Course: C++ Standard Library including C++14 & C++17

Course: Embedded Programming with Modern C++

Course: Generic Programming (Templates)

Course: C++ Fundamentals for Professionals

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 3429

All 4182236

Currently are 174 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments