Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jeaye/value-category-cheatsheet

A C++14 cheat-sheet on lvalues, rvalues, xvalues, and more
https://github.com/jeaye/value-category-cheatsheet

Last synced: about 2 months ago
JSON representation

A C++14 cheat-sheet on lvalues, rvalues, xvalues, and more

Awesome Lists containing this project

README

        

# 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](https://clojure.org/) and
[Ring](https://github.com/ring-clojure/ring) and then converting the produced
web page to a PDF using [wkhtmltopdf](https://wkhtmltopdf.org/).

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
```bash
# 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.