-
Data: 2012-07-28 00:57:08
Temat: Re: Czym jest programowanie?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 27/07/2012 11:18, AK wrote:
> Użytkownik "Andrzej Jarzabek" <a...@g...com> napisał:
>
>> Nie wiem, co rozumiesz przez typy proste, ale parametrów przez
>> referencję (aka 'przez zmienną') nie można przekazać niezależnie od typu.
>> Możnqa przekazać parametr typu 'referencja na obiekt', ale przekazać
>> można ją tylko przez wartość. Zatem nie da się zrobić:
>>
>> Object a=cośtam();
>> [...]
>> f(a);
>> // funkcja f zmieniła wartość a, tak że wskazuje na inny obiekt niż
>> // przed wywołaniem
>
> 1. Naucz sie opisywac temat _poprawnie_ bo przekazywanie parametrow
> przez referencje to _nie jest to__ co opisujesz.
W C++ tak się to nazywa. Proszę o jakiegoś linka do opisu co to znaczy
przekazywanie przez referencję.
> 2. _Bardzo dobrze_, ze w Javie (w Pythonie zreszta tez) nie da sie tego
> zrobic.
> Juz sama zmiana stanu obiektu przekazywanego przez do funkcji przez
> (ref) referencje rodzi problemy i skutki uboczne,
Kolejna rzecz, której mi brakuje w Javie - const.
> a co dopiero gdyby sie sam obiekt zmienil brrr.... :) Do tego sluzy
Niedawno ktoś opisywał, że ma problemy z za długimi metodami. Części
tych metod możnaby wyobrębnić w osobne metody, ale problemem jest użycie
w tych częściach zmiennych lokalnych. Brak możliwości przekazania
zmiennych (typów referencyjnych czy jakichkolwiek innych) przez
referencję powoduje utrudnienie refektoryzacji typu 'extract method'.
> return i rzeczy typu 'tuple' (lub
> udajace tuple).
Nie ma zdaje się takiego czegoś w Javie.
> 3. Uda Ci sie w C++ osiagnac zamierzony efekt uzywajac tylko referencji
> (&) ?
Normalnie. Zacznijmy od tego, że najbliższym odpowiednikiem typu
referencyjnego z Javy jest w C++ wskaźnik, więc odpowiednikiem:
JakisTyp zmienna = new JakisTyp();
będzie w C++
JakisTyp* zmienna = new JakisTyp();
(może być shared_ptr albo unique_ptr)
więc jeśli funkcja f ma sygnaturę
f(JakisTyp*&);
to mam:
JakisTyp* a=cośtam();
[...]
f(a);
// a może wskazywać na coś innego niż przed wywołaniem f
Następne wpisy z tego wątku
- 28.07.12 00:59 Andrzej Jarzabek
- 28.07.12 13:09 yamma
- 28.07.12 16:27 Andrzej Jarzabek
- 30.07.12 10:18 Paweł Kierski
- 30.07.12 10:40 Edek Pienkowski
- 30.07.12 18:54 Waldek M.
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-01-20 Gdańsk => Programista Full Stack .Net <=
- 2025-01-20 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-20 Warszawa => Full Stack .Net Engineer <=
- 2025-01-20 huta ruszyla
- 2025-01-20 piece wodorowe
- 2025-01-20 Lublin => Programista Delphi <=
- 2025-01-20 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-20 Mińsk Mazowiecki => Area Sales Manager OZE <=
- 2025-01-20 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-19 Test - nie czytać
- 2025-01-19 qqqq
- 2025-01-19 Tauron przysyła aneks
- 2025-01-19 Nowa ładowarka Moya a Twizy -)
- 2025-01-18 Power BANK z ładowaniem przelotowym robi PRZERWY
- 2025-01-18 Pomoc dla Filipa ;)