Register

0

Witam,
uczę się języka C++ i doszedłem do takiej nowej informacji jaką jest słowo kluczowe "register". Jest ono bardzo cenne dla mnie bo w przyszłości chcę właśnie stworzyć program operujący na wielu danych! Niestety w książce którą posiadam niewiele jest napisane o tym typie i mam do Was kilka pytań.

  1. Po pierwsze czy zmienna register może być typu double? jak wrzuciłem sobie w kompilator to nie wyskoczył żaden błąd ale w tym kursie: http://changs.wordpress.com/2007/01/24/uzywanie-rejestru-procesora-w-c/ autor wskazuje tylko typ int! i nie wiem czy błąd nie wyskakuje bo jest to prawidłowe czy może kompilator olewa moją "prośbę" i nie wrzuca tej zmiennej do rejestru?
  2. czy jest sens używania słowa register w pętli w następujący sposób:
for(register int i = 0; i<10; i++)
{
   //...
} 

czy może w pętlach jest to już uwzględnione jakoś?
3. rozumiem, że do adresu takiej zmiennej nie można się odwołać ale chyba można zrobić coś takiego:

double zmienna_docelowa = 0;
register double zmienna_tymczasowa = 0;
for(register int i=0; i<1000000;i++)
zmienna_tymczasowa += i/30.0;

zmienna_docelowa = zmienna_tymczasowa; 

Dzięki temu wszystkie operacje będą przeprowadzane na tymczasowej zmiennej register a później wartość ta będzie przekazana do zwykłej zmiennej, do której będzie można się normalnie odnosić.

  1. Czy można tworzyć tablice z register? np. register double tablica[1000];? Tak jak poprzednio kompilator nie protestuje ale nie wiem czy po prostu mnie olewa (nie wrzuca tych zmiennych do rejestru?).

  2. jak to ma się do deklarowania tego w funkcjach i klasach?

Dodatkowo czy możecie się podzielić swoimi uwagami na ten temat? bardzo mnie to intryguje i ciekawi a autor kursu z załączonego kursu udowodnił, że jest to bardzo przydatne narzędzie -> szczególnie, gdy się dużo operuje na liczbach :)

Pozdrawiam i dziękuję za wszelką pomoc.

1

Zainwestuj w jakiś porządny kurs i nie zawracaj sobie głowy tym register, ponieważ tylko od kompilatora zależy czy coś Ci wrzuci do rejestru czy nie. Sprawdź co to są te tajemnicze rejestry i wtedy zweryfikuj czy to na co się powołujesz nie mija się przypadkiem z prawdą. Oprócz przechowywania Twoich danych w tej ogromnej liczbie pojemnych rejestrów dodatkowo kilka ma specjalne zastosowania, więc nie bardzo się nadają.

1 użytkowników online, w tym zalogowanych: 0, gości: 1