Skip to the content.



Applied Modern C++ — Chapter 5: Functions


Covers how to use functions in C++.

Applied Modern C++ — Chapter 4: Conversions


Introduces type conversions and initialisation.

Applied Modern C++ — Chapter 3: Simple types and objects


Introduces how to use some critically useful types.

Applied Modern C++ — Chapter 2: Hello, C++!


Introduces the reader to their first C++ programs.

Applied Modern C++ — Chapter 1: Introduction


Introduces the series Applied Modern C++.

How Senators are elected


Just as with the House of Representatives, Australia uses preferential voting to elect Senators, but our votes are counted using a different mechanism that gets us proportional representation. In this blog post, we’re going to learn how to fill out a Senate ballot, and how our Senate ballots are counted.

How voting for your House of Representatives Member works


Australia uses preferential voting to elect candidates to the House of Representatives. Preferential voting is also known as instant-runoff voting or ranked-choice voting. In this article, we’ll break down how preferential voting works in detail, using the Division of Clark as an example.

This article remains entirely independent of political opinion. Two opinions are cast: one on voting systems, which we talk about next; and one on How to Vote Cards, which we talk about at the end.

A Quick Look at What P1754 Will Change (Part 1)


P1754, or Rename concepts to standard_case for C++20, while we still can is a proposal with a single, abundantly clear goal outlined in its name: to change the naming convention for all standard concepts from PascalCase to snake_case. Examples in P1754 are sadly lacking: it would have been nice to see an algorithm or two with the differences displayed side-by-side. I was curious about what it would look like, so I decided to contrast the two using the library that’s benefited from concepts the most: our algorithms library.


In today’s blog, we look at both the newly minted Study Group for education in the C++ Standard Committee. We also look at a small number of conference videos that I recommend teachers consider while they’re waiting for this Study Group to produce usable materials.

A Prime Opportunity for Ranges


In this example, we look at why ranges are an excellent choice for helping our code to become more declaratve.

Transforming std::find into std::ranges::find


Today, we dive into what std::find does, and how we can leverage various concepts to cleanly express its requirements, as achieved in std::ranges::find.

Prepping Yourself to Conceptify Algorithms


In this article, we explore what concepts are, where they are useful, and how they are different to things that exist in vanilla C++17.

RSS Feed