Article View: pl.comp.lang.c
Article #309563Re: Pewne ostrzeżenie podczas kompilacji ...
From: M.M.
Date: Thu, 04 Jan 2018 21:20
Date: Thu, 04 Jan 2018 21:20
37 lines
2878 bytes
2878 bytes
On Thursday, January 4, 2018 at 7:11:30 PM UTC+1, AK wrote:
> Użytkownik "M.M." <mmarszik@gmail.com> napisał:
>
> > > Ja bardzo często w enum mam 'dodatkowe' pole na końcu typu. Np.:
> > >
> > > enum Enum {
> > > field_0,
> > > field_1,
> > > field_2,
> > > .......
> > > filed_N,
> > > size_of_enum,
> > > };
> >
> > To właśnie jeden z przykładów na koślawość i ułomność enumów w C++.
> > Czemu nie można załatwić tego czymś w rodzaju std::size(Enum) zamiast
> > stosować takich protez?
> >
> > Pozdrawiam,
> > Krzysiek
>
> > Może dlatego, że większe możliwości enum wkraczałyby w kompetencje klas?
>
> Niekoniecznie.
> Wystarczylo by aby sizeof(Enum) zwracal ilosc enumow a nie dlugosc elementu Enum.
> No srednio by to bylo spojne z sizeof(Klasa), ale byc moze warte tego odstepstwa ?
>
> AK
Też nie jestem pewny, czy warte takiego odstępstwa. Może obecny
sizeof(Enum) przydaje się zbyt bardzo w innych sytuacjach? W C++, gdy
typ enum nie wystarcza, to niby powinna być klasa. Klasa powinna
mieć odpowiednią metodę size, a nawet powinno być const expresion
zwracające ilość pól. Hmmmm chyba myślę, że obecne działanie sizeof
jest lepsze, spójność jest dobra.
Pozdrawiam
Technical Details
Message-ID:
<0ce341d9-1fa4-4d92-949c-ded69fe480d0@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!m31no483903qtf.0!news-out.google.com!v55ni220qtc.0!nntp.google.com!g35no480456qtk.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<2ffc816a-0dae-4f63-a1ee-7a8b5f98ca94@googlegroups.com> <328c7d69-5f41-4564-8bd1-5a7c041c3db7@googlegroups.com> <730b0e72-195b-43b7-aeed-60776845daff@googlegroups.com> <5a4d30a3$0$658$65785112@news.neostrada.pl> <ae6bde7f-1785-4929-8a2e-562fc57201ab@googlegroups.com> <p2lqoe$kfr$1@gioia.aioe.org>Show Full Headers
Complete Article Headers
X-Received: by 10.55.24.3 with SMTP id j3mr672435qkh.35.1515100822575; Thu, 04 Jan 2018 13:20:22 -0800 (PST) X-Received: by 10.31.161.69 with SMTP id k66mr84471vke.10.1515100822298; Thu, 04 Jan 2018 13:20:22 -0800 (PST) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer01.am4!peer.am4.highwinds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!m31no483903qtf.0!news-out.google.com!v55ni220qtc.0!nntp.google.com!g35no480456qtk.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.lang.c Date: Thu, 4 Jan 2018 13:20:22 -0800 (PST) In-Reply-To: <p2lqoe$kfr$1@gioia.aioe.org> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.37.236.203; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 178.37.236.203 References: <2ffc816a-0dae-4f63-a1ee-7a8b5f98ca94@googlegroups.com> <328c7d69-5f41-4564-8bd1-5a7c041c3db7@googlegroups.com> <730b0e72-195b-43b7-aeed-60776845daff@googlegroups.com> <5a4d30a3$0$658$65785112@news.neostrada.pl> <ae6bde7f-1785-4929-8a2e-562fc57201ab@googlegroups.com> <p2lqoe$kfr$1@gioia.aioe.org> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <0ce341d9-1fa4-4d92-949c-ded69fe480d0@googlegroups.com> Subject: Re: Pewne ostrzeżenie podczas kompilacji ... From: "M.M." <mmarszik@gmail.com> Injection-Date: Thu, 04 Jan 2018 21:20:22 +0000 X-Received-Body-CRC: 444040104 X-Received-Bytes: 3026 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit