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
Comments 1Views: 92828

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
Comments 2Views: 15646

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
Comments 2Views: 48012

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
Add CommentViews: 14114

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
Add CommentViews: 27061

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
Comments 1Views: 21321

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
Add CommentViews: 12052

What is Modern C++?

We often speak about classical and modern C++. What does that mean? First of all: What is modern C++?. There is a simple and a not so simple answer? The simple answer is. Modern C++ stands for C++ that is based on C++11, C++14, and C++17. I guess, you know it. This post and a series of further posts is about the not so simple answer.

Read more
Comments 6Views: 136067

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)

Subscribe to the newsletter (+ pdf bundle)

Blog archive

Source Code

Visitors

Today 2050

All 3020191

Currently are 172 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments