Aktywne Wpisy
njdnsjdnjs +6
jak ktos ma was na czarno to dajecie tez w mysl zasady oko za oko?
wfyokyga +25
Jak se dziś szukałem czołguni, to usnąłem przed laptokiem i drzymalem se prawie godzinkę xD Następnym razem poszukam se nowych i możecie w komentarzu napisać, jakie byście chcieli zobaczyć. To tych, na pewno nie dodam
Czołem programiści 15k ( ͡° ͜ʖ ͡°)
Czy jest ktoś w stanie wyjaśnić mi, jak działa np. taka konstrukcja:
_void f(typ *&p, int n) {_
Innymi słowy, jak działa wskaźnik na referencję na zmienną, do czego można by to wykorzystać
i czemu po prostu nie typ wskaźnikowy? Znalazłem to gdzieś na stronie o strukturach danych i nie wiem czym to się wyróżnia, że w metodzie, w której coś jest usuwane używają dodatkowo referencji, a w metodach, które np. tylko coś wypisują używają samej deklaracji wskaźnikowej bez ref. Jakby ktoś mógł na to zerknąć i mi to wyjaśnić byłbym suuper wdzięczny!
Edit: czy w takim razie nie powinno być &*p ?
*p
to w f dostaniesz lokalną kopię wskaźnika, co w zupełności wystarcza do dostania się do tego na co on wskazuje. Ale czasem musisz zmodyfikować, powiedzmy, że masz jakiśT* ptr
wskazujący na null, wywołujesz funkcjęvoid loadObject(T* &ptr)
, w tej funkcji tworzysz sobie jakiśtam obiekt t typu T i na koniec robisz ptr = &t. To jest horror programistyczny wNiema czegoś takiego, nie będzie. Referencja to tylko syntactic sugar na wskaźnik i pozwala kompilatorowi bardziej uważać na typ odcinając się od języka C.
To jest błąd składniowy.
Istnieje coś takiego jeszcze jak rvalue reference i wygląda jak referencja do referencji, ale nią nie jest:
W skrócie służy to do przenoszenia wartości z jednego miejsca do drugiego ( destruktywnie ).