Programowanie w języku C/C++

Register

  • 2006-05-16 10:23
  • 0 komentarzy
  • 6072 odsłony
  • Oceń ten tekst jako pierwszy
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.