Register

tharos

register - jeden z modyfikatorów obiektu.

Modyfikator register "daje do zrozumienia" kompilatorowi, że zależy nam na szybkim dostępie do zmiennej, gdyż będziemy jej używać dużo razy i należy ją umieścić w rejestrze procesora. Nie możemy się odwoływać do zmiennej z modyfikatorem register o jej adres. Rejestr nie jest adresem pamięci, gdy usilnie próbujemy dowiadywać się jednak o jej adres, kompilator umieści zmienną w pamięci (gdzie może nam podać adres).

Jak więc wyglądać będzie przykład dla zmiennej 'a' typu Int? Ano tak:

register int a;

Jednak współczesne kompilatory na tyle optymalizują kod, że same wybierają, które zmienne mają być umieszczone w rejestrze procesora, a które nie.
Więc w praktyce to, że damy modyfikator register nie daje nam pewności, że zmienna będzie przechowywana w rejestrze.

0 komentarzy