🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310527

Re: stała mapa enum -> wartość

#310527
From: heby
Date: Wed, 13 Mar 2024 08:21
33 lines
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-mail
References: <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