C++ bazı yönleri ile göstergelere(pointer) benzeyen başka bir değişken tipini içerir. Bir değişkeni tanımlanırken & sembolünü kullanılırsa referans türünden bir değişken tanımlanmış olur. Aşağıda referans tanımlamaya bir örnek verilmiştir.
int x; int& r = x;
Yukarıdaki örnekte referansa ilk değer verilmesi keyfi değildir. Referanslar tanımlarken aynı türden bir değişken ile ilk değer verilerek tanımlanmak zorundadır. Göstergelerde bu zorunluluk söz konusu değildir. Bu yüzden göstergeler ile referansları birbirinden ayıran en büyük özelliklerden biri budur. Örneğin aşağıdaki kod derleme anında hata verir.