-
Data: 2012-06-15 00:41:40
Temat: Re: Czym jest programowanie?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 14.06.2012 21:49, Wojciech Muła wrote:
> W dniu czwartek, 14 czerwca 2012 21:18:20 UTC+2 użytkownik Michoo napisał:
>> On 14.06.2012 12:31, Wojciech Mu�a wrote:
>>> W dniu czwartek, 14 czerwca 2012 01:39:27 UTC+2 u�ytkownik Michoo napisa�:
>>> A to co, jak nie podanie explicite zakresu dost�pu.
>> Sposobu dost�pu - warto�� czy referencja (czy brak).
>
> Ale po co? Gdy wprowadzasz nowy zakres (np. ifem) to nie
> musisz pisać jaki będzie sposób dostępu do zmiennych
> z zewnętrznych zakresów.
Ale tego ifa nie możesz wyekspediować w inne miejsce. To znaczy właśnie
w formie lambdy możesz, więc musisz powiedzieć jaki ma bagaż ze sobą zabrać.
[] - kompilator zapewni, że nie weźmie lokalnego kontekstu
[=] - skopiuje użyte zmienne
[&] - weźmie przez referencję
W ten sposób problem:
utwórz funktory, które "wiedzą" w której iteracji je wywołano i
jednocześnie współdzielą kontekst można zapisać jako
{
zmiene współdzielone;
for(int i=0;i<max_it;i++){
...
[&,iteration](){...};
...
}
wywoływanie lambd
>
>>> O tym pisa�em, �e programista *musi* przy definicji
>>> ustali�, do czego funkcja ma dost�p.
>> Zarzucasz, �e je�yk daje za du�e mo�liwo�ci programi�cie zamiast
>> ograniczy� si� do jedynej s�usznej wersji? No bez jaj...
>
> Sorry, ale to klepanie 3 znaków bez sensu. :)
No nie bez sensu. Dzięki tym trzem znakom to programista a nie twórcy
języka decydują jak się dana lambda zachowa.
W javie masz na przykład możliwość przekazania tylko zmiennej final,
więc żeby np przekazać do "lambdy" [1] stringa, który może zostać
zmodyfikowany pomiędzy utworzeniem obiektu a jego użyciem musisz tego
stringa zapakować w klasę - tam to dopiero jest pisania (albo
programiści, którym się nie chce robić dodatkowej klasy robią numery
pokroju:
list<String> l1 = new ArrayList<String>();
l1.add("some string");
final list<String> l2 = l1;
new clas ...
l2.get(0);
...
l2.set(0,"other string");
a to dopiero zaciemnia zapis.
)
[1] Czyli klasy/implementacji interface inline.
>
>>> BTW funkcje anonimowe s� og�lnie przereklamowane.
>> Uwa�am, �e s� wygodne:
>> [...]
>
> Nie twierdzę, że niewygodne, jednak sama idea mnie nie
> porywa, nawet w ukochanym pythonie nie używam dla onlinerów.
>
> BTW jestem ciekaw, jak wygląda debuggowanie takich
> anonimowych cudaków.
Na gcc generuje symbole postaci:
_ZNSt8functionIFivEEC2IZ3foovEUlvE_EET_NSt9enable_if
IXntsrSt11is_integralIS4_E5valueENS1_8_UselessEE4typ
eE
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 15.06.12 00:50 Michoo
- 15.06.12 00:53 slawek
- 15.06.12 02:28 Michoo
- 15.06.12 02:31 Michoo
- 15.06.12 07:18 Andrzej Jarzabek
- 15.06.12 07:22 Andrzej Jarzabek
- 15.06.12 07:52 Andrzej Jarzabek
- 15.06.12 07:57 Roman W
- 15.06.12 08:00 Andrzej Jarzabek
- 15.06.12 09:29 Artur Muszyński
- 15.06.12 10:27 Roman W
- 15.06.12 14:44 slawek
- 15.06.12 14:58 slawek
- 15.06.12 15:01 slawek
- 15.06.12 15:41 Roman W
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 ;)