In MC ++, vi erano due diversi tipi di [[Puntatore (programmazione)|puntatori]]: puntatori ''<code>__nogc''</code>, essenzialmente ordinari ''puntatori C++'', e i puntatori ''<code>__gc''</code>, usati per i tipi di riferimento .NET. Nel C ++ / CLI, invece, l'unico tipo di puntatore è il normale puntatore C ++, mentre i tipi di riferimento .NET sono accessibili attraverso un ''handle'' usando la nuova sintassi <code>ClassName^</code> invece di <code>ClassName*</code>. Questo nuovo costrutto è particolarmente utile quando il codice contiene insieme codice C++ standard e codice gestito; consente di rendere chiaro quali sono gli oggetti gestiti dal ''garbage collection'' automatico di .NET e quali sono invece gli oggetti che il programmatore deve distruggere in modo esplicito.