wieczniezielony
wieczniezielony
#naukaprogramowania #cpp
Probuje ogarnac referencje w c++ ale niestety cos niezbyt mi wychodzi. Moglby mi ktos wytlumaczyc co robie zle?
Wrzucam przyklad (prosty i oczywisty wiec nie wrzucam komentarzy):
http://pastebin.com/V8XxESM5
  • Najlepsze
  • Wszystkie komentarze
master6
master6
@wieczniezielony: void in_sort(int * tab, int siz);
void show(int * tab);
e.....1
@wieczniezielony: albo tak jak napisał Ci @master6 albo zrób na referencjach, ale zamiast zwykłych tablic użyj http://en.cppreference.com/w/cpp/container/array
wieczniezielony
wieczniezielony
@master6: nie chce wskaznika tylko referencje
wieczniezielony
wieczniezielony
@enceladus71: nie da sie tego zrobic na zwyklej tablicy?
e.....1
@wieczniezielony: nigdy nie próbowałem tablicy przekazywać przez referencję, ale chyba kompilator tego nie łyka http://ideone.com/Ot2RtW

Zwykłą tablicę przekazuje się przez wskaźnik, jakoś tak z definicji i dlatego nigdy nie kombinowałem inaczej.
wieczniezielony
wieczniezielony
@enceladus71: no wlasnie ja tez nie. W moim trzymiesicznym doswiadczeniu przez refernecje przekazywalem a reszta przez wskazniki ale nadszedl ten dzien gdy chce dokladnie pojac czym rozni sie wskaznik od referencji i probuje roznych opcji.
e.....1
@wieczniezielony: różni się tym, że referencję zawsze musisz zainicjalizować(stosując ją jako zmienną czy pole w klasie). Poza tym różnic nie znam/nie pamiętam. Używaj referencji (ze zwróceniem uwagi na const) dla obiektów, a jeśli musisz używać zwykłych tablic, to przekazuj je przez wskaźnik. Jeśli nie ma przeciwwskazań - używaj kontenerów stl/boost/qt/...
wieczniezielony
wieczniezielony
@enceladus71: Czasem przekladajac czyjes kody napotykam sie na obiekty ktore maja i wskaznik i refeerencje to tak wlasciwie co to oznacza?
e.....1
@wieczniezielony: musiałbym zobaczyć przykład, bo nie do końca rozumiem, co masz na myśli. Możesz wysłać na priv, jeśli nie chcesz tu czegoś wklejać.
wieczniezielony
wieczniezielony
@enceladus71: nie pisze o zadnym konkretnym przykladzie. Chodzi mi o cos takiego:
http://stackoverflow.com/questions/823426/passing-references-to-pointers-in-c
Nie bardzo wiem co myslec o czyms gdy jest *& na raz.
e.....1
@wieczniezielony: to jest wskaźnik na referencję - wg mnie popieprzona konstrukcja i przez 8 lat pracy nigdy nie musiałem tego użyć. Ma to zastosowanie, jeśli chcesz coś zrobić z samym wskaźnikiem przekazywanym do funkcji, a nie z wartością wskazywaną przez niego, w innym przypadku - nie ma zupełnie sensu stosować takiej konstrukcji.
rotflolmaomgeez
@enceladus71: to jest referencja na wskaźnik typu string, nie wskaźnik na referencję.
e.....1
@rotflolmaomgeez: fakt, dzięki za poprawkę.
wieczniezielony
wieczniezielony
@enceladus71: A do czego mozna wykorzystac taka mozliwosc (zobienie "czegos" ze wskaznkiem)?
To jeszcze pytanie z innej beczki. Schematy blokowe. Przydatne czy nie? Gdybym ci podeslal zdj na pw rzucilbys okiem czy robie je dobrze?
e.....1
@wieczniezielony: jeśli schematy blokowe = dokumentacja, to zawsze są przydatne ( ͡° ͜ʖ ͡°)
bl4desofglory
bl4desofglory
@wieczniezielony: do przekazania tablicy referencji nie używasz, bo z założenia do funkcji leci oryginalna tablica, a nie jej kopia