Article View: pl.comp.lang.c
Article #310527Re: stała mapa enum -> wartość
From: heby
Date: Wed, 13 Mar 2024 08:21
Date: Wed, 13 Mar 2024 08:21
33 lines
1767 bytes
1767 bytes
On 10/03/2024 11:07, heby wrote:
> Jest jakies kretywne rozwiązanie inicjacji tej tablicy bez wygibasów
> przez zewnatrzne programy?
Znalazłem głupie i źle działajace "rozwiązanie", ale może warto
wiedziec, że jest i takie:
enum class Foo {
X
, Y
[...]
}
class Bar {
[...]
}
const Bar tablica[256] = {
[Foo:X] = Bar(0,1)
, [Foo:Y] = Bar(3,4)
[...]
}
Zalety:
1) Niemożliwe zrobienie błednego mapowania
Wady:
1) To zachowuje się jak inicjacja pól klasy - jest runtime, a nie we flash.
2) Nie można zmieniać kolejności enumeratorów
3) Nie można robić dziur (za wyjatkiem końca wyliczenia)
4) enumerator Foo nie może mieć dziur (X=1, Y=3 nie przejdzie)
Czyli nie to, co chcę, ale przyznam, że składni nie znałem. Bodaj z C99.
Technical Details
Message-ID:
<usrnm6$rp4s$2@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mailReferences:
<usk0pv$2tak9$1@dont-email.me>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.onet.pl> Newsgroups: pl.comp.lang.c Subject: Re: stała mapa enum -> wartość Date: Wed, 13 Mar 2024 09:21:25 +0100 Organization: A noiseless patient Spider Lines: 34 Message-ID: <usrnm6$rp4s$2@dont-email.me> References: <usk0pv$2tak9$1@dont-email.me> MIME-Version: 1.0 Injection-Date: Wed, 13 Mar 2024 08:21:26 -0000 (UTC) Injection-Info: dont-email.me; posting-host="2cef2e9f3901009a35fb4aa0755d9d42"; logging-data="910492"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18+3Eh7pPQAJUFpYNO5bnK9" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:XHpu3lf18aXXm+27MiWTMFSq+OQ= In-Reply-To: <usk0pv$2tak9$1@dont-email.me> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit