-
Data: 2019-03-25 23:13:21
Temat: Re: Dziwny wyciek zasobów
Od: Wojciech Muła <w...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Saturday, March 23, 2019 at 9:49:03 PM UTC+1, Borneq wrote:
> W dniu 23.03.2019 o 21:30, Wojciech Muła pisze:
> > On Saturday, March 23, 2019 at 2:37:53 PM UTC+1, Szyk Cech wrote:
> >> Dzięki!
> >> Mam jedno pytanie:
> >>
> >>> auto closefile = [](FILE* f){fclose(f);};
> >>> std::unique_ptr<FILE, decltype(closefile)> infile{fopen("path", "r"),
closefile};
> >>
> >> Czemu w drugiej linii stosujesz nawiasy klamrowe?!? Przecież to nie jest
> >> ani funkcja ani inicjalizacja tablicy...
> >
> > Od C++11 można, to się nazywa "uniform initialization":
https://en.wikipedia.org/wiki/C%2B%2B11#Uniform_init
ialization
> >
> > W ogóle ten kod można jeszcze uprościć, dopiero sam niedawno się tego
dowiedziałem. Wystarczy jedna linijka, bez lambdy:
> >
> > std::unique_ptr<FILE, int(*)(FILE*)> infile{fopen("path", "r"), fclose};
> >
> > w.
> >
> A nie lepszy kod mniej uproszczony a bardziej czytelny?
Można jeszcze inaczej:
std::unique_ptr<FILE, decltype(&fclose)> infile{fopen("path", "r"), fclose};
Ale masz 100% rację, że to wciąż koślawy zapis. Chwilę mi zajęło,
zanim doszedłem do powyższego zapisu. Lambda najbardziej oczywista
i co więcej GCC ładnie ją inlinuje.
w.
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-10-31 Dziady kręcące się koło szkoły
- 2024-10-31 Jak to robia w Nowym Jorku piesi
- 2024-10-31 Precyzyjne cięcie opony samochodowej
- 2024-10-31 czyste powietrze
- 2024-10-31 (Dwaj) "Starzy" sędziowie SN niedopuszczalne skargi piszą [tako orzekł WSA]
- 2024-10-31 Planeta płonie
- 2024-10-31 zginął podczas zmiany kól
- 2024-10-30 Diesel spłonął :-)
- 2024-10-30 Re: Diesel spłonął :-)
- 2024-10-30 Dlaczego pratkowcy szukają hoteli na trasie?
- 2024-10-29 Dzień jak codzień
- 2024-10-29 Holowanie
- 2024-10-30 soft dla detekcji stanu DMA (on,czy off)
- 2024-10-30 Kraków => Senior SAP HANA Developer <=
- 2024-10-30 Wrocław => SAP HANA Cloud Dev / Data Engineer <=