C++ Core Guidelines: Use Tools to Validate your Concurrent Code

Today, I'm happy to write about the probably most important rule of the C++ Core Guidelines for concurrency: Whenever feasible use tools to validate your concurrent code. Not all, but a lot of bugs can be detected with tools and each fixed bug is a good bug. Here are two tools which provided me precious help in the last years: ThreadSanitizer and CppMem.

Read more
Add CommentViews: 14938

C++ Core Guidelines: More Rules to Concurrency and Parallelism

Writing multithreading programs is hard, even harder if the program should be correct. The rules of the C++ Core Guidelines guide you to write correct programs. The rules of this post will deal with data races, sharing of data, tasks, and the infamous keyword volatile.

Read more
Add CommentViews: 16775

C++ Core Guidelines: Rules for Concurrency and Parallelism

C++11 is the first C++ standard that deals with concurrency. The basic building block for concurrency is a thread; therefore, most of the rules are explicitly about threads. This changed dramatically with C++17.

 

Read more
Add CommentViews: 44015

C++ Core Guidelines: The Remaining Rules to Performance

Today, I will write about the remaining 10 rules to performance. Ten rules seem to be a lot but only two of them have actual content.

Read more
Add CommentViews: 8530

C++ Core Guidelines: More Rules to Performance

In this post, I continue my journey through the rules to performance in the C++ Core Guidelines.  I will mainly write about design for optimisation.

Read more
Add CommentViews: 11592

C++ Core Guidelines: Rules to Performance

Before I write about the rules of performance I will do a very simple job. Accessing the elements of a container one by one.

Read more
Add CommentViews: 13352

C++ Core Guidelines: Rules to Statements and Arithmetic

Today, I will write about the remaining rules to statements and the arithmetic rules. If you don't follow the arithmetic rules, undefined behaviour may kick in.

Read more
Add CommentViews: 7049

C++ Core Guidelines: More about Control Structures

My last German post C++ Core Guidelines: To Switch or not to Switch, that is the Question got a lot of attention. To use a hash table instead of a switch statement seems to be a highly emotional topic. So I change my original plan. Today, I will present different kinds of control structures. I will start with the if and switch statements, continue with the hash table, and end with dynamic and static polymorphism. Additionally, I will mark a few remarks about performance and maintainability. 

Read more
Add CommentViews: 16925

C++ Core Guidelines: To Switch or not to Switch, that is the Question

At first, I have to apologize. Today, I wanted to continue my journey through the C++ Core Guidelines with the arithmetic expressions. In my seminar in this week, we had a long discussion about switch statements in C/C++ and how they become totally unmaintainable. Honestly, I'm not a fan of the switch statements and I have to say: there is life after the switch statements.

Read more
Add CommentViews: 21633

C++ Core Guidelines: Rules for Statements

Before I continue with the roughly 15 rules for statements, let me finish the two rules for expressions. Both rules help you to protect your program from undefined behaviour. 

Read more
Add CommentViews: 6578

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 6539

All 3386550

Currently are 229 guests and no members online

Kubik-Rubik Joomla! Extensions

Latest comments