Skip to content

Instantly share code, notes, and snippets.

Created February 25, 2015 18:58
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save simonwo/f1be28ebcbf7a8787f19 to your computer and use it in GitHub Desktop.
These aliases make pointers and references look more like real types. See for more.
#pragma once
/* These type alias templates (introduced in C++11) allow
* us to template typedefs (via a different syntax).
* Here we are templating generic pointer and reference types
* so we could write ptr<T> instead of T*.
* See for more.
template <typename T>
using ptr = T*;
template <typename T>
using ref = T&;
#include <iostream>
#include "cleartypes.h"
using std::cout;
using std::endl;
int main() {
ptr<const char> text = "Hello, World!";
cout << text << endl;
int i = 1;
ref<int> j = i;
j = 5;
cout << i << endl;
return 0;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment