register

Das Attribut 'register' vor einer Variablen sagt dem Compiler bzw. Prozessor, dass er diese Variable so lange wie möglich in einem Register behaltet und somit schnell wieder ausgelesen werden kann da sie nicht aus dem langsameren Cache oder noch langsameren Arbeitsspeicher nachgeladen werden muss.

Anwendung

Auch wenn das schnelle Auslesen von Variablen verlockend klingt sollten wir dieses Attribut vermeiden, da der Prozessor am besten selbst entscheiden kann wie lange er eine Variable in seinen Registern behalten soll. Außerdem gibt die Verwendung von 'register' keinerlei Garantien dafür ab, dass die Variable auch wirklich im Register bleibt. Über den Zeitpunkt des Auslagerns entscheidet nur der Prozessor. Wir können ihn nur darum bitten unsere Variable möglichst lange zu behalten.