A C++14 cheat-sheet on lvalues, rvalues, xvalues, and more
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
resources
src/value_categories
.gitignore
LICENSE
README.md
notes
project.clj
publish
value-category-cheatsheet.pdf

README.md

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.

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.