A C++14 cheat-sheet on lvalues, rvalues, xvalues, and more
Clojure C++ Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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.