Articles & Books

"C++ Move Semantics - The Complete Guide" now Feature Complete -- Nico Josuttis

The new book by Nico Josuttis is now available as an ebook draft.

C++ Move Semantics - The Complete Guide

by Nico Josuttis

About the book:

Having 200 pages, the description of move semantics is feature complete now. Only a few chapters about the use of move semantics in the C++ standard library are missing.

The book teaches all aspects of C++ move semantics. Starting from the basic principles it motivates and explains all features and corner cases (such as perfect returning with decltype(auto)) so that a C++ programmer can understand and use move semantics right in application code, when implementing classes, in generic code, and in foundation libraries.


 

Part 2: Ray Tracing in one weekend with SYCL

SYCL is an open standard developed by the Khronos™ Group that enables developers to write code for heterogeneous systems using standard C++.

Ray-tracing in One Weekend with SYCL Part 2

    by Codeplay

About the article

C++ Ray-Tracing in a Weekend by Peter Shirley is a great resource to start learning about ray-tracers and how to implement one, and at the same time providing all the source code in a GitHub repository . You can find more information about his books on ray-tracing techniques with accompanying implementations on his blog, and you can also download the books as .pdf, or load them on your Kindle device for free from the GitHub project.

This post follows on from the first part of my blog, where I showed how the I adapted the code from "Ray Tracing in one weekend" to increase performance using SYCL™. The first area I tackled was the rendering.

In this second post I'll show how to use SYCL to improve the performance of this code further using some interesting techniques.

C++20: The Unspoken Features -- Michele Caini

Modules, coroutines, concepts, and ranges, oh my. Here comes C++ 20. The big four new features are getting all the buzz, but what about the smaller features? 

C++20: The Unspoken Features

by Michele Caini

From the article:

What's new in C++ besides the big four? A lot of things. We certainly won't be able to see them all in one post. Among the most interesting (at least from my point of view) are the following:

  • Designated initializers
  • Spaceship operator
  • Extended range-based for statement
  • Pack expansions in lambda init-capture
  • Template parameter lists on lambdas
  • String literals as template parameters
  • consteval and constinit keywords
  • Constexpr containers
  • Constexpr virtual functions

Thriving in a crowded and changing world: C++ 2006–2020

On which Bjarne Stroustrup describes how C++ has managed to thrive despite many things

Thriving in a Crowded and Changing World: C++ 2006–2020

By Bjarne Stroustrup

From the article:

This paper focuses on the major changes to the ISO C++ standard for the 2011, 2014, 2017, and 2020 revisions.
The standard library is about 3/4 of the C++20 standard, but this paper’s primary focus is on language features
and the programming techniques they support.