Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dlaczego przekazywanie małych zmiennych przez kopie jest lepsze niż przez stałą referencję?

Ostatnio zmodyfikowano 2018-02-04 23:46
Autor Wiadomość
latajacaryba
Temat założony przez niniejszego użytkownika
Dlaczego przekazywanie małych zmiennych przez kopie jest lepsze niż przez stałą referencję?
» 2018-02-04 22:51:23
Witam. Znalazłem taką oto wypowiedź Pekfosa:
short to rozmiar tablicy, mały bo 5 więc i short, a referencja żeby nie kopiować wartości.
To (podwójnie) złe myślenie. Niekopiowanie jest w tym przypadku gorsze od kopiowania, a zmniejszenie rozmiaru zmiennej nie ma sensu. Nie oszczędzasz w ten sposób pamięci, a tylko zmniejszasz swoje możliwości.

Cytat dotyczył mniej więcej takiej sytuacji:

C/C++
void f1( const short & size )

Chodzi mi o pogrubiony fragment. Dlaczego nie opłaca się przenosić małych zmiennych np. short czy int przez referencję (oczywiście mam tu na myśli przypadek, gdy nie chcemy jej modyfikować, tylko nie używać kopiowania)?


źródło
P-169247
pekfos
» 2018-02-04 23:06:18
Referencja przekazuje adres na wartość, a wartość przekazuje (duh!) wartość. Odczytanie ze stosu adresu i wartości jest równie szybkie, więc przekazywanie przez wskaźnik to tylko potencjalny cache miss na dereferencji.
P-169248
latajacaryba
Temat założony przez niniejszego użytkownika
» 2018-02-04 23:46:09
No tak, to ma sens :) dzięki, zamykam
P-169251
« 1 »
  Strona 1 z 1