-
Data: 2019-01-04 09:53:35
Temat: Re: Uwagi odnośnie książki Stroustrupa
Od: g...@g...com szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu piątek, 4 stycznia 2019 08:15:55 UTC+1 użytkownik Maciej Sobczak napisał:
> > Co w takim razie wnoszą referencje w C++? (oprócz niepotrzebnej komplikacji)
>
> Uwaga: dopiero co usiłowałeś udowodnić, że operator przypisania jest niepotrzebny.
Tak?
W którym miejscu próbowałem "udowodnić coś takiego"?
Ogólnie wydaje mi się, że gdybyś odnosił się do rzeczy,
które napisałem, zamiast do tych, które wydaje Ci się,
że napisałem, obaj byśmy na tym skorzystali.
> Uwaga na dwie różne rzeczy. Referencje same w sobie to aliasy i służą właśnie do
tego, żeby upraszczać zapis (o tym pisał AK) a nie żeby cokolwiek komplikować.
A jednak coś komplikują.
> Drugie zastosowanie referencji to przekazywanie argumentów bez konieczności ich
kopiowania. Służą wydajności i są czytelniejsze, niż wskaźniki a pozwalają nie
kombinować z dodatkowymi "trybami" czy innymi "modami" parametrów podprogramów.
Kwestia tego, czy występuje "konieczność kopiowania" argumentów, ma
sens tylko w kontekście, w którym dokonujemy modyfikacji argumentów.
> > Co takiego staje się możliwe dzięki nim, co nie było możliwe bez nich?
>
> Pisanie bardziej czytelnego kodu. Widać to bardzo dobrze gdy porówna się API
bibliotek mających osobne wersje dla C i C++.
Dzięki. Lubię konkrety, a w szczególności obiektywne sformułowania
w rodzaju "bardziej czytelny kod".
> > > W tym wypadku wartością dodaną jest możliwość korzystania z jakieś ograniczonej
formy lambdy, bez konieczności posiadania garbage collectora.
> >
> > Pierwszy kompilator języka Scheme, ORBIT, dawał ograniczoną
> > formę lambdy i nie potrzebował garbage collectora.
>
> W jaki sposób realizował upward-closure?
Używając garbage collectora napisanego w Schemie bez upward-closure.
> > > Inaczej - istnieje pewna klasa projektów, w których nikt[*] nie ma lepszej
oferty.
> >
> > Jeśli pominiemy takie języki jak np. Rust.
>
> Ciekawe:
>
> https://doc.rust-lang.org/1.1.0/book/closures.html
>
> "So if we returned this closure, the function call would be over, the stack frame
would go away, and our closure is capturing an environment of garbage memory!"
>
> Jest podane rozwiązanie tego problemu, ale nie wiem, czy ten mechanizm jest
stosowalny tak samo wygodnie dla różnych przypadków, które można sobie wyobrazić. W
C++ po prostu dano użytkownikom narzędzie i obowiązek do samodzielnego rozstrzygania
takich problemów. W tym przypadku problem nie jest trudny do rozstrzygnięcia i nie
wiem, czy chcę mieć aż tak dużą dodatkową komplikację na poziomie języka, żeby ten
problem rozwiązać.
> Tzn. potrafię nie mieć problemu z wiszącymi referencjami w C++ przy składni
prostszej, niż oferuje Rust, więc w tym konkretnym przypadku Rust jest dla mnie
niepotrzebnym kosztem.
>
> Rust jest ciekawym pomysłem (ogólnie w aspekcie zarządzania czasem życia obiektów),
ale potrzeba jeszcze czasu, żeby ocenić jego przydatność w praktyce.
> Pod pojęciem praktyki rozumiem np. system, dla którego istnieje kompilator C++ a
dla którego nie istnieje kompilator Rust. Praktyka to również dostępne narzędzia
pomocnicze w rodzaju analizatorów statycznych. Być może Rust zyska sympatię
użytkowników i stanie się popularny, nie potrafię tego jeszcze rozstrzygnąć.
>
> > Standard GNU C
>
> To tak jakbyś napisał "Standard Visual C".
Być może. Takie użycie sugeruje sam komplikator, do którego podaje się
flagę -std=gnu99 (zamiast np. -std=c99).
Następne wpisy z tego wątku
- 07.01.19 07:59 Maciej Sobczak
- 07.01.19 10:34 g...@g...com
- 08.01.19 09:46 Maciej Sobczak
- 08.01.19 09:51 AK
- 08.01.19 10:05 AK
- 08.01.19 10:51 Maciej Sobczak
- 08.01.19 11:15 g...@g...com
- 08.01.19 13:33 AK
Najnowsze wątki z tej grupy
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-12 Schemat automatyki
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Teoretyczne zagadnienie - ogrzewanie budynku
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Polska Grupa Zbrojeniowa (85% udziałów) Likwiduje Stomil-Poznań - Zakład Działał Od 1928r.
- 2026-01-12 Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- 2026-01-12 Usunięcie zdjęcia zamordowanej kobiety: Policja 3 dni nie zawracała sądowi dupy i załatwiła bez sądu [TVN donosi na kogoś]
- 2026-01-12 Policjant (poza służbą) agresywny wobec kobiety 2 [Szczecin, Sylwester]
- 2026-01-12 Warszawa => BI Developer <=
- 2026-01-11 Rząd wzywa prezydenta to dyskryminacji/bojkotu "formalnie niekaranych"? :-)
- 2026-01-11 Po zniszczeniu w okolicy Lwowa [Ukraina] fabryki dronów przenoszą ją do Polski
- 2026-01-11 Auta spalinowe tylko dla zarządu. Tak UE ratuje spalinową motoryzację
- 2026-01-11 Dziki trener ZIELONY ŁAD W KRAKOWIE: WIELKI PRZEKRĘT CZY RATUNEK?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]