The Problem with C++ Safety (Part 2): Modern C++ Is a Mindset, Not a Standard

In the first part, we saw how hard it is to be certain that loop-based C++ code is correct. Now Klaus presents the modern solution, a single algorithm call that is correct by inspection, and explains why the real problem in our community is an educational one, made worse by AI tools that keep generating classic C++.

The Problem with C++ Safety (Part 1): Why “It Works” Isn’t Good Enough

Rainer Grimm’s blog continues. In this first article of a new series, Klaus Iglberger looks at why C++ is called memory unsafe and argues that the real problem isn’t the language itself, but how we write and teach it.

Small Safety Improvements in the C++ 26 Core Language

Safety is an important concern in C++26. Contracts are probably the most important feature for safety.…

Contracts: Evaluation Semantic

After briefly presenting the details of contracts in my last article, “Contracts: A Deep Dive", I…

Contracts: A Deep Dive

I already introduced contracts in the article “Contracts in C++26”. In this article and the next…

Data-Parallel Types: Algorithms

The data-parallel types library has four special algorithms for SIMD vectors. The four special…

Data-Parallel Types: Reduction

In this article, I will discuss reduction and mask reduction for data-parallel types. Reduction A…

Data-Parallel Types: simd_mask

Thanks to simd_mask, conditional execution of operations on data-parallel types is possible. Unfortunately,…

Data-Parallel Types – A First Example

After providing a theoretical introduction to the new C++ 26 feature in my last article, “Data-Parallel…

Data-Parallel Types (SIMD)

The data-parallel types (SIMD) library provides data-parallel types and operations on them. Today, I…