Home

Awesome

C++14 value category cheatsheet

Herein lies a generated PDF which outlines the common pitfalls and edge cases with C++14's lvalues, rvalues, and the like. The cheatsheet is generated by running an HTTP server using Clojure and Ring and then converting the produced web page to a PDF using wkhtmltopdf.

This project accompanied a talk I presented, in hopes of conveying the intricacies of everyday C++ work.

Viewing online

There is a rendered version of this cheatsheet available in this repo. You can view it online here: https://raw.githubusercontent.com/jeaye/value-category-cheatsheet/master/value-category-cheatsheet.pdf

Running locally

# Assuming leiningen is installed
$ lein ring server

Some of these rules change in C++17, why not use them?

This cheatsheet is meant to be a practical reference for the everyday C++ dev working in existing codebases. Since C++17 is not yet published, and codebases are much more likely to be using the C++11 and C++14 rulesets, I've focused on C++14.