- 2024-01-09
- C++ Weekly
This website is dormant, but not dead. I don’t post updates here because there are better ways to follow the content that I create.
If you’re interested in training, please check out the training page (which is updated) or the contact form to begin a conversation about training.
Following Me
I am active on many different social media platforms, and still producing C++ Weekly since March of 2017.
I am also fairly active on GitHub if you are interested in following me there.
If you’re interested in supporting this channel or following me on Patreon
If you want a T-Shirt, check out my C++ Weekly t-shirt shop!
- 2017-05-01
- C++
- C++ Weekly
Another way that one might create a stateful lambda in C++11 by manipulating the storage duration of the variables in the lambda.
- 2017-04-24
- C++
- C++ Weekly
std::quoted - probably one of the most overlooked parts of the standard library.
- 2017-04-17
- C++
- C++ Weekly
I continue my series on embedded C++ with an example of how we can merge register accesses and save a few more bytes.
- 2017-04-10
- C++
- C++ Weekly
I continue my series on embedded C++ with an example of how templates and constexpr can provide flexibility while reducing the compile size and increasing performance.
- 2017-04-03
- C++
- C++ Weekly
In this episode I dissect an optimization that’s unique to Clang.
- 2017-03-27
- C++
- C++ Weekly
We conclude the first part of our series on the MSP430.
- 2017-03-20
- C++
- C++ Weekly
We continue our series on the MSP430 with C++.
- 2017-03-13
- C++
- C++ Weekly
In this episode we get set up with using the latest C++ features to program a chip which has only 2KiB of flash and 128Bytes of RAM available.
- 2017-03-06
- C++
- C++ Weekly
In this episode I break down how some C++ features are defined in terms of goto, so we are essentially using goto throughout our code.
- 2017-02-27
- C++
- C++ Weekly
In this episode we play with llvm-cbe, the C back-end for LLVM, which allows us to essentially compile C++ code into C code.
- 2017-02-20
- C++
- C++ Weekly
In this episode we try to see just how far we can take the idea of a “stateful lambda” by building one that can be manipulated and interacted with from the caller side.
- 2017-02-13
- C++
- C++ Weekly
- C++17
Now that we know why we would inherit lambdas, and merge them into one implementation (to make a visitor, for instance), how and why does this compare to using a generic lambda? What advantage does one have over the other?
- 2017-02-06
- C++
- C++ Weekly
- C++17
What is the practical application of for inheriting from lambdas in C++?
- 2017-02-01
- C++
- C++ Weekly
Understanding integeral literal sizing and binary arithmetic rules in C and C++.
- 2017-01-30
- C++
- C++ Weekly
- C++17
In this episode I build from episode 40’s discussion on inheriting lambdas and show how several C++17 features (including variadic using
declarations) can be combined to create a succinct merging of lambdas.
- 2017-01-23
- C++
- C++ Weekly
Last episode I showed you why you should be taking Visual C++ seriously. This episode I show you my personal pet peeve with Visual Studio that has caused many of my portability issues with cross platform development.
- 2017-01-16
- C++
- C++ Weekly
In this episode I demonstrate why you should take Visual C++ seriously and make it a part of your automated build environment.
- 2017-01-09
- C++
- C++ Weekly
In this episode I demonstrate how to build a random maze generator (and solver) that can be executed at compile time with constexpr
.
- 2017-01-02
- C++
- C++ Weekly
In this episode I demonstrate a constexpr enabled random number generator. I then it to generate a different random number sequence each time it is compiled.
- 2016-12-26
- C++
- C++ Weekly
Is stack elision a thing? What would that imply if it were?
- 2016-12-19
- C++
- C++ Weekly
In this episode I explore Clang’s ability to elide heap operations.
- 2016-12-12
- C++
- C++ Weekly
- C++17
In this episode I demonstrate how C++17’s support for lambdas in a constexpr context can clean up many constexpr use cases.
- 2016-12-05
- C++
- C++ Weekly
- C++17
In this episode I discuss how (and why) you can inherit from a lambda function along with possible use cases.
- 2016-11-28
- C++
- C++ Weekly
- C++17
C++17’s automatic class template deduction feature brings with it a new sub-feature called “deduction guides” which are used to help the compiler with class template type deduction. I give examples of what they are and how they are used in this episode.
- 2016-11-21
- C++
- C++ Weekly
Experimenting with C++17’s class template argument type deduction feature and learning what its limitations are.
- 2016-11-14
- C++
- C++ Weekly
Creating stateful lambdas using capture expressions in C++14.
- 2016-11-07
- C++
- C++ Weekly
Part 3 of our basic introduction to understanding the assembly output from your compiler. In this episode we do some reverse engineering of other non-Intel architectures.
- 2016-10-31
- C++
- C++ Weekly
Part 2 of our basic introduction to understanding the assembly output from your compiler.
- 2016-10-24
- C++
- C++ Weekly
Basic introduction to understanding the assembly output from your compiler.
- 2016-10-21
- C++
- C++ Weekly
Review of using Visual C++ 1.52 from 1993. This is the oldest version of Visual C++ available on MSDN.
- 2016-10-17
- C++
- C++ Weekly
Why you should use C++11’s default member initializers.
- 2016-10-14
- C++
- C++ Weekly
Reviewing g++ 2.4.5 from 1993 on Slackware Linux 1.01.
- 2016-10-10
- C++
- C++ Weekly
Examining the (free) cost of using lambdas in C++.
- 2016-10-03
- C++
- C++ Weekly
I explore what IncludeOS is and how you might use it for OS experimentation.
- 2016-09-26
- C++
- C++ Weekly
- C++17
Wrapping up our C++17 attribute coverage with possibly the most interesting yet: [[nodiscard]].
- 2016-09-19
- C++
- C++ Weekly
- C++17
Using C++17’s new [[maybe_unused]] attribute.
- 2016-09-14
- C++
- C++ Weekly
- C++17
- Templates
A comment was made on my YouTube channel that destructuring in C++17 would be much more useful if it worked with standard containers. At the moment I responsed that this would be someone impossible to get right without adding too much overhead.
- 2016-09-12
- C++
- C++ Weekly
- C++17
Understanding C++17’s new [[fallthrough]] attribute.
- 2016-09-05
- C++
- C++ Weekly
- C++17
What changes to expect to the sequence containers (for example, std::vector) in the upcoming C++17.
- 2016-08-29
- C++
- C++ Weekly
- C++17
C++17 has not only added many new interesting things, it has removed and deprecated a few outdated features as well.
- 2016-08-23
- C++
- C++ Weekly
- C++17
Continuing coverage of C++17’s new features with new aggregate initialization of base classes.
- 2016-08-16
- C++
- C++ Weekly
- C++17
Our continuing series on C++17’s new features with an introduction to C++17’s structured bindings.
- 2016-08-08
- C++
- C++ Weekly
- C++17
I continue my series on C++17’s features with the new __has_include
functionality.
- 2016-08-01
- C++
- C++ Weekly
- C++17
This week I introduce C++17’s nested namespaces and std::clamp
library function.
- 2016-07-25
- C++
- C++ Weekly
- C++17
This week I introduce C++17’s new support for if
and switch
init statements.
- 2016-07-18
- C++
- C++ Weekly
- C++17
This week I introduce C++17’s fold expressions.
- 2016-07-11
- C++
- C++ Weekly
- C++14
- Commodore 64
Using modern C++ to write extremely efficient high level programs for the Commodore 64.
- 2016-07-08
- C++
- C++ Weekly
- C++17
In this SE we follow up episode 18’s constexpr if with some concrete examples of where it can be used in existing code.
- 2016-07-05
- C++
- C++ Weekly
- C++17
This week I preview C++17’s upcoming “constexpr if” functionality.
- 2016-06-27
- C++
- C++ Weekly
- C++17
This week I preview one of my favorite up coming new features of C++17: std::invoke
.
- 2016-06-20
- C++
- C++ Weekly
Last week we discussed how to use std::bind
. this week we discuss why you should never use std::bind
- 2016-06-13
- C++
- C++ Weekly
Introduction to std::bind
from C++11 and how it can be used.
- 2016-06-06
- C++
- C++ Weekly
Two somewhat obscure and surprisingly helpful C++ standard library functions.
- 2016-05-30
- C++
- C++ Weekly
- Fibonacci
- Templates
- constexpr
Many of the different ways you might implement a Fibonacci sequence in C++ plus one you’ve probably never considered.
- 2016-05-23
- C++
- C++ Weekly
In this episode I introduce std::any
from the upcoming proposed C++17 standard.
- 2016-05-16
- C++
- C++ Weekly
In this episode I correct some of the details of the “std::future Quick Start” episode while expanding on the info provided.
- 2016-05-09
- C++
- C++ Weekly
- Templates
In this episode Jason wraps up what we’ve learned so far about variadic templates and shows some additional techniques to consider.
- 2016-05-02
- C++
- C++ Weekly
- Threads
In this episode Jason gives a very fast quick-start to what std::future is and how to use std::async to run a function in another thread.
- 2016-04-25
- C++
- C++ Weekly
In this episode Jason discusses some of what C++ name mangling is, and how to demangle names at runtime.
- 2016-04-18
- C++
- C++ Weekly
In this episode Jason quickly tries to convince you to stop using std::endl.
- 2016-04-11
- C++
- C++ Weekly
- Templates
In this episode I give a brief introduction to C++ variadic templates and cover some compile time and runtime performance considerations.
- 2016-04-04
- C++
- C++ Weekly
- ChaiScript
- 2016-03-28
- C++
- C++ Weekly
- Templates
- 2016-03-21
- C++
- C++ Weekly
- 2016-03-14
- C++
- C++ Weekly
- 2016-03-07
- C++
- C++ Weekly
- ChaiScript