News

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

Creating traditional Visual Studio sln from CMake

CMakeToVisualStudio parses CMake files to create a Visual Studio solution.

CMakeToVisualStudio

by Zeb Mason

About the release

CMakeToVisualStudio parses CMakeLists.txt and CMakeCache.txt files and creates a traditional Visual Studio solution from templated XML:

  • Might not build properly
  • Might be sufficient to work with historical tooling for Visual Studio
  • LGPL v2.1 set of libraries for reading CMake and Visual Studio projects and writing Visual C++ solutions

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.

QStringView diaries: zero-allocation string splitting -- Marc Mutz

QStringTokenizer merged for Qt 6.0

QStringView Diaries: Zero-Allocation String Splitting

by Marc Mutz

From the article:

I am happy to announce that the first QStringTokenizer commits have landed in what will eventually become Qt 6.0.

QStringTokenizer splits strings, with zero memory allocations, universally, and safely.

While the version in Qt will be Qt 6-only, KDAB will release this tool for Qt 5 as part of its KDToolBox productivity suite.

The C and C++ Club : A technical blog

Deepesh has started a club about C and C++.

The C and C++ Club

by Deepesh Menon P M

About the club:

He has started a technical blog on C and C++, covering various philosophical aspects of these languages. Do visit and share your comments. 5 parts and 22 chapters are there on C, C++, design patterns and data structures. Please support me on this venture.

DeepEnds Release 3.0.1 for free

CycleRouter Ltd is pleased to announce a new release of our dependency analysis tool.

DeepEnds Release 3.0.1

About the release:

DeepEnds 3.0.1 analyses code for coupling and cohesion and deletes redundant code. It is a Windows program that integrates with Visual Studio.

It is free to use until the end of August 2020.