Articles & Books

Freestanding in Prague--Ben Craig

All you want to know.

Freestanding in Prague

by Ben Craig

From the article:

The C++ standards committee met in Prague, Czech Republic between Feb 10 and Feb 15. The standard is wording complete, and the only thing between here and getting it published is ISO process. As is typical for me at these meetings, I spent a lot of time doing freestanding things, Library Incubator (LEWGI) things, and minuting along the way (15-ish sessions/papers!)...

Move, simply--Herb Sutter

No need to get complicated.

Move, simply

by Herb Sutter

From the article:

C++ “move” semantics are simple, but they are still widely misunderstood. This post is an attempt to shed light on that situation...

C++20: The Ranges Library--Rainer Grimm

One big of c++20.

C++20: The Ranges Library

by Rainer Grimm

From the article:

Thanks to the ranges library in C++20, working with the Standard Template Library (STL) will become much more comfortable and powerful. The algorithms of the ranges library are lazy, can work directly on the container and can easily be composed. To make it short: The comfort and the power of the ranges library are due to its functional ideas. Let me show you what that means...

Large-Scale C++: Process and Architecture --- John Lakos

Writing reliable and maintainable C++ software is hard. Designing such software at scale adds a new set of challenges. Creating large-scale systems requires a practical understanding of logical design — beyond the theoretical concepts addressed in most popular texts. To be successful on an enterprise scale, developers must also address physical design, a dimension of software engineering that may be unfamiliar even to expert developers. How do you do this?

Large-Scale C++ Volume I: Process and Architecture

by John Lakos

From the article:

Drawing on over 30 years of hands-on experience building massive, mission-critical enterprise systems, John Lakos lays the foundation for projects of all sizes and demonstrates the processes, methods, techniques, and tools needed for successful real-world, large-scale development.

Up to date and with a solid engineering focus, this book demonstrates fundamental design concepts with concrete examples.

This book, written for fellow software practitioners, uses familiar C++ constructs to solve real-world problems while identifying (and motivating) modern C++ alternatives.

My Favorite Unknown C++20 Feature--Nathan Myers

Time to get to know it.

My Favorite Unknown C++20 Feature

by Nathan Myers

From the article:

C++2020 was voted out yesterday, its final stamp of technical approval before it goes to ISO for legal certification. This is a big, big release, comparable to C++2011 a decade ago, that will change, again, how we write, and think about, our programs. The big features--Concepts, Coroutines, Modules--will get plenty of coverage elsewhere in the days ahead, but the myriad smaller features, taken together, may make as great a difference in the code that most of us will write...

C++20 is Done!

Houra!

C++20 is Done!

From the article:

C++20, the most impactful revision of C++ in a decade, is done! ������

Overload 155 is now available

ACCU’s Overload journal of February 2020 is out. It contains the following C++ related articles.

Overload 155 is now available

From the journal:

Members and Remembrances.
Remembering things can be difficult. Frances Buontempo reminisces on routes to erudition.

A line-to-line conversion from Node.js to Node.cpp.
Dmytro Ivanchykhin, Sergey Ignatchenko and Maxim Blashchuk show how we can get a 5x improvement in speed.

The Path of Least Resistance.
Python’s modules and imports can be overwhelming. Steve Love attempts to de-mystify the process.

Quick Modular Calculations(Part 2).
The minverse algorithm previously seen is fast but has limitations. Cassio Neri presents two alternatives.

A Secure Environment for Running Apps?.
Getting apps from the app store is easy. Alan Griffiths considers this from a security perspective.

Afterwood.
The centre half is more than a sporting term. Chris Oldwood shows us why.

Zero, one, two, Freddy's coming for you

The article might be of interest for authors of books, articles, and C++ coding standards. Based on the given material, you can discuss questions of C++ code quality and ways how to reduce the likelihood of errors' occurence.

Zero, one, two, Freddy's coming for you

by Andrey Karpov

From the article:

This post continues the series of articles, which can well be called «horrors for developers». This time it will also touch upon a typical pattern of typos related to the usage of numbers 0, 1, 2. The language you're writing in doesn't really matter: it can be C, C++, C#, or Java. If you're using constants 0, 1, 2 or variables' names contain these numbers, most likely, Freddie will come to visit you at night. Go on, read and don't say we didn't warn you.

 

Reverse For Loops in C++--Carlos Buchart

How do you do it?

Reverse For Loops in C++

by Carlos Buchart

From the article:

As we saw when working on dynamic bitsets, it can be useful to traverse a collection backwards, from its last element to its first one.

It would be nice to be able to use C++11 range for loops to iterate backwards. But unfortunately, there is no such reverse range-for: range-for only works forwards.

Let’s see how to traverse a collection backwards by using a range for loop...

Five Awesome C++ Papers for the Prague ISO Meeting and C++20 Status--Bartlomiej Filipek

Did you know them?

Five Awesome C++ Papers for the Prague ISO Meeting and C++20 Status

by Bartlomiej Filipek

From the article:

Continuing the tradition for other ISO C++ Meetings, I prepared a blog post where you’ll learn about:

  • The current status of C++20
  • an overview about the Prague ISO C++ Meeting (10th till 15th February 2020)
  • a few interesting papers that are worth reading

Let’s start!