Değişkenlerin tümü bellek üzerindeki alanları kullanır ancak C++ register değişkenler bu durumdan müstesnadır.
Bir değişkenin register olarak tanımlanması; derleyiciye, değişkenin RAM içerisinde değil, cpu register içerisinde depolanacağını bildirmektir.
Bazı uygulamalarda, değişkenlere çok daha hızlı biçimde erişmek söz konusu olabilir. Böyle durumlarda, register değişkenler tanımlanarak; bellek alanları yerine, makinenin hızlı bellek yazmaçları kullanılabilir.
Her ne kadar değişken register ile tanımlanmış olsa da, register içerisine kayıt edileceği kesin değildir. Bu alanların miktarı sınırlı olduğundan, fazla sayıda register değişken tanımlanırsa amacına ulaşmaz. Kısacası, o anki donanımın durumuna bağlıdır. Eğer CPU içerisinde değişken için boş ve uygun olan bir register yok ise derleyici fazla bulduklarını normal bellek alanlarına yerleştirir.
#include <iostream> using namespace std; int main() { register int a = 100; cout << a; return 0; }