Thread View: de.comp.lang.c++
3 messages
3 total messages
Started by Torsten Vogt
Mon, 06 Nov 1995 07:55
Re: enums
Author: Torsten Vogt
Date: Mon, 06 Nov 1995 07:55
Date: Mon, 06 Nov 1995 07:55
27 lines
1852 bytes
1852 bytes
Hi, an alle, die ausser mir was zu diesem Thema gepostet haben. Wir koennen uns natuerlich noch monatelang darueber unterhalten, wie man am besten enums organisiert, die Farben repraesentieren, um moeglichst wartungsfreundliche Programme zu schreiben. Weiterhin denke ich, dass alle Postings, die sich damit beschaeftigen eine sinnvolle Loesung angeboten haben. Aber darum ging es weder in der Frage, noch in meiner Antwort. Es ging 'drum, ob enums in jedem Fall aequivalent zu ints sind. Offenbar scheinen dies einige Compiler unterschiedlich streng zu handhaben. Benni - das war der urspruengliche Fragesteller - stellt diese Frage, dann auch noch mal konkreter in seinem zweiten Posting. Also: Was sagt der Sprachstandard? Gruesse Torsten -- --------------------------------------------------------------------- | Torsten Vogt | | Universitaet Mannheim - Lehrstuhl Praktische Informatik I | | Seminargebaeude A5 | | D-68131 Mannheim | | | | Tel : 0049-621/292-5132 Fax: 0049-621/292-5297 | | email: vogt@pi1.informatik.uni-mannheim.de | | WWW : http://pi1.informatik.uni-mannheim.de/HomePages/vogt.html | ---------------------------------------------------------------------
Re: enums
Author: Ullrich von Bassewitz
Date: Mon, 06 Nov 1995 23:02
Date: Mon, 06 Nov 1995 23:02
16 lines
849 bytes
849 bytes
Torsten Vogt (vogt@pi1.uni-mannheim.de) wrote:
> Also: Was sagt der Sprachstandard?
Der Sprachstandard sagt, dass ein enum automatisch in ein int konvertiert
wird, aber nicht umgekehrt. Das urspruengliche Posting war _ziemlich_
unklar, deshalb habe ich nicht geantwortet, aber vielleicht hilft obiges
Statement ja, die Sache zu weiter.
Gruss
Uz
--
Ullrich von Bassewitz uz@ibb.schwaben.com
Re: enums
Author: Karl-Heinz Krause
Date: Tue, 07 Nov 1995 05:57
Date: Tue, 07 Nov 1995 05:57
33 lines
1931 bytes
1931 bytes
Am 6. Nov. 1995 schrieb Torsten Vogt (vogt@pi1.uni-mannheim.de):
> Hi, an alle, die ausser mir was zu diesem Thema gepostet haben. Wir
> koennen uns natuerlich noch monatelang darueber unterhalten, wie man
> am besten enums organisiert, die Farben repraesentieren, um moeglichst
> wartungsfreundliche Programme zu schreiben. Weiterhin denke ich, dass
> alle Postings, die sich damit beschaeftigen eine sinnvolle Loesung
> angeboten haben. Aber darum ging es weder in der Frage, noch in meiner
> Antwort. Es ging 'drum, ob enums in jedem Fall aequivalent zu ints sind.
> Offenbar scheinen dies einige Compiler unterschiedlich streng zu handhaben.
> Benni - das war der urspruengliche Fragesteller - stellt diese Frage, dann
> auch noch mal konkreter in seinem zweiten Posting.
> Also: Was sagt der Sprachstandard?
enums sind in C++ (anders als in C) *nicht* äquivalent zu ints. enums
werden zwar implizit nach int konvertiert, nicht aber umgekehrt. Daraus
folgt, daß zwar der folgende Ausdruck "a + b" erlaubt ist, wenn a und b
enums sind (da a und b nach int konvertiert werden); da das Ergebnis
dann aber von Typ int ist, ist die Zuweisung "a = a+b" nicht erlaubt.
Jedoch ist es möglich, zu einem enum Operatoren zu definieren. Beispiel:
enum E { A, B };
inline E operator+ (E x, E y) { return E(int(a)+int(b)); }
E x = A;
x = x + B; // ist jetzt erlaubt
Karl-Heinz Krause
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads