C++ as a Second Language (Chrome University 2020)--Chris Blume

The basics.

C++ as a Second Language (Chrome University 2020)

by Chris Blume

Summary of the video:

A tour of C++ for experienced/advanced programmers coming from other languages (C/Java/JS/Python/Go/VHDL/etc). Chris Blume explains C++11 features, free functions, include & linkage, destructors & scope, RAII, pass-by-value / -reference, the standard library, and smart pointers...

C++ Compile time conditional struct member variables--Saleem Ahmad

Before we get metaclasses one day?

C++ Compile time conditional struct member variables

by Saleem Ahmad

From the article:

C++ has rich set of features to do compile time calculations and optimizations to generate a better code. In one of code segment I have very large data structure in which few member variables are not used based on compile time if constexpr condition, but these variables are logged in the log line...

Upsetting Opinions about Static Analyzers

Static analysis tools have advanced far over the time they've been around. They no longer resemble the "linters" that were in active use 20 years ago. But some programmers still view them as extremely primitive tools. And that's very sad.

Upsetting Opinions about Static Analyzers

by Andrey Karpov

From the article:

Of course, any modern static analyzer tracks the changes of variables' values. If a variable doesn't change, a warning is issued. If it does, no warning is issued. To ensure that, analyzers rely on data stream analysis. And that's exactly how PVS-Studio works. Let's take a look at the following synthetic example.


 

CopperSpice: Concepts in C++20

New video on the CopperSpice YouTube Channel:

Concepts in C++20

by Barbara Geller and Ansel Sermersheim

About the video:

In this video we look at the feature called Concepts which was added in C++20. We discuss some of the reasons concepts were added to the language, and why concepts as they were accepted are not like the original proposals they started with. We also provide an example of replacing SFINAE with concepts to produce cleaner and more readable code.

Please take a look and remember to subscribe!

Winning the race against TOCTOU vulnerabilities in C & C++ -- Ann G. Campbell

Researchers were surprised to find that their Time of Check to Time of Use (TOCTOU) attack succeeded 85% of the time, even when the critical operations were "separated only by a few milliseconds."

To better understand this vunlerability and what you can do, read:

Winning the race against TOCTOU vulnerabilities in C & C++

by G. Ann Campbell

From the article:

With TOCTOU, the idea is that there's a window of opportunity between when a privileged program checks a file (Does the file exist? Are permissions okay for what we're about to do? …)  and when it operates on that file (Create the file. Write to the file. …). In that window, an attacker could replace the file with e.g. a symlink to `/etc/passwd`, and the operation you meant to perform on `/home/ann/tmp` happens to an important system file instead.

Broader coverage of C++ Core Guidelines & broken access control detection with SonarQube and SonarCl

SonarSource recently improved C++ analysis to provide even broader coverage of the C++ Core Guidelines and to add detection of broken access control vulnerabilities

C++ analyzer provides a broader coverage of the C++ Core Guidelines and detects broken access control security issues

By Alexandre Gigleux

From the article:

We’re proud to announce the following improvements to the C++ analyzer:

  • security rules detecting broken authentication and access control issues
  • broader coverage of the C++ Core Guidelines


Security Rules

We implemented 6 rules related to broken access control (incorrect permission assignments, privilege escalations, unprotected APIs …):

Range-v3: An Introduction to the Library [In Spanish] -- Daniel G Vergel

This series of posts provides a brief introduction to some of the most commonly used algorithms, views, and actions of the library. It is written entirely in Spanish, in part to mitigate the lack of educational materials on modern C++ currently available in my native language. Many of the codes are nevertheless self-explanatory, and I hope, may be of interest to a broader audience.

Ranges-v3: An Introduction to the Library

 

Range-v3: An Introduction to the Library

by Daniel G Vergel

About the series

As an Associate Professor at the European University (Madrid, Spain), I decided to integrate C++17/20 and the Range-v3 library into my teaching materials to build a more interesting and up-to-date syllabus for my courses. The adoption of a functional style of coding has helped me produce better and more expressive code, making my students' first approach to system programming easier.

  1. Examples 1 (generate_n, group_by, sort, to) and 2 (filter)
  2. Examples 3 (enumerate, shuffle, take, zip) and 4 (intersperse, tokenize)
  3. Examples 5 (getlines, transform) and 6 (iota, set_difference, split_when)
  4. Example 7 (stable_partition, subrange)
  5. Example 8 (concat, drop, generate, take_while)
  6. Examples 9 (cycle) and 10 (keys, values)

 

std::format in C++20--Peter Gottschling

More convenience for formatting.

std::format in C++20

by Peter Gottschling

From the article:

Today, I'm happy to present Peter Gottschling's guest post to the new formatting library in C++20: std::format.  Thanks to std::format, text formatting becomes in C++20 as easy as in Python...

Announcing the closing keynote of Meeting C++ 2020!

Finally I can announce the closing keynote of this years Meeting C++ conference!

Announcing the closing keynote of Meeting C++ 2020

by Jens Weller

From the article:

During September I was thinking about this years closing keynote. It would have been fine to leave it open, but its also the case that 2020 gives us opportunities and so I thought about who could be giving this years closing keynote.