eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingDziwny wyciek zasobów › Re: Dziwny wyciek zasobów
  • X-Received: by 2002:a37:9c08:: with SMTP id f8mr20697138qke.353.1553552001997; Mon,
    25 Mar 2019 15:13:21 -0700 (PDT)
    X-Received: by 2002:a37:9c08:: with SMTP id f8mr20697138qke.353.1553552001997; Mon,
    25 Mar 2019 15:13:21 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!news.mixmin.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!t
    9no2288996qtn.0!news-out.google.com!i54ni4694qte.0!nntp.google.com!t9no2288986q
    tn.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 25 Mar 2019 15:13:21 -0700 (PDT)
    In-Reply-To: <q7663u$bos$1@node1.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=217.97.102.20;
    posting-account=VFwkXwoAAADdT4-lLKRZrMYkTjizGoyn
    NNTP-Posting-Host: 217.97.102.20
    References: <QUOgE.6781$WX2.6137@fx16.fr7>
    <4...@g...com>
    <NEqlE.145642$Gr1.106458@fx05.fr7>
    <b...@g...com>
    <q7663u$bos$1@node1.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <9...@g...com>
    Subject: Re: Dziwny wyciek zasobów
    From: Wojciech Muła <w...@g...com>
    Injection-Date: Mon, 25 Mar 2019 22:13:22 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:213414
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: