🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
3 messages
3 total messages Started by Torsten Vogt Mon, 06 Nov 1995 07:55
Re: enums
#736
Author: Torsten Vogt
Date: Mon, 06 Nov 1995 07:55
27 lines
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
#741
Author: Ullrich von Bassewitz
Date: Mon, 06 Nov 1995 23:02
16 lines
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
#746
Author: Karl-Heinz Krause
Date: Tue, 07 Nov 1995 05:57
33 lines
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