Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   

Die mobilen Seiten von c++.de:
http://m.c-plusplus.de
Infos hier [BETA]

  
c++.de :: C++ (auch C++0x und C++11) ::  enum class Problem  
Gehen Sie zu Seite Zurück  1, 2, 3, 4  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
wand auf wirklich
Unregistrierter




Beitrag wand auf wirklich Unregistrierter 21:18:52 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:
wirklich, ein BITFLAGS_ENUM(bla, fuh) hinschreiben ist wirklich total viel Aufwand.
Ich frage mich, warum du fuh brauchst. Das ist fehleranfällig und den Typen bekommst du doch auch durch std::underlying_type<bla>::type.
Unregistrierter





Beitrag Unregistrierter 21:54:44 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:

Bring ein Beispiel, aber schreib keinen Müll.


Ok.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum Color
{
      black,
      blue,
      green,
      cyan,
      red,
      magenta,
      brown,
      light_grey,
      dark_grey,
      light_blue,
      light_green,
      light_cyan,
      light_red,
      light_magenta,
      yellow,
      white
};
 
//...
 
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor);
314159265358979
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
Beitrag 314159265358979 Mitglied 22:04:37 14.05.2012   Titel:              Zitieren

wand auf wirklich schrieb:
314159265358979 schrieb:
wirklich, ein BITFLAGS_ENUM(bla, fuh) hinschreiben ist wirklich total viel Aufwand.
Ich frage mich, warum du fuh brauchst. Das ist fehleranfällig und den Typen bekommst du doch auch durch std::underlying_type<bla>::type.

Dass es std::underlaying_type gibt, hab ich noch nicht verinnerlicht. Du hast natürlich Recht, so wäre es besser.

Hacker schrieb:
314159265358979 schrieb:

Bring ein Beispiel, aber schreib keinen Müll.


Ok.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum Color
{
      black,
      blue,
      green,
      cyan,
      red,
      magenta,
      brown,
      light_grey,
      dark_grey,
      light_blue,
      light_green,
      light_cyan,
      light_red,
      light_magenta,
      yellow,
      white
};
 
//...
 
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor);

Mal abgesehen, dass mich Beispiele mit Windoof-spezifischem Code ankotzen, ergibt dein Beispiel doch gar keinen Sinn. Was soll denn bei 2*black rauskommen? Woher weißt du, dass 165*red immer noch red ist?
Unregistrierter





Beitrag Unregistrierter 22:08:54 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:


Hacker schrieb:
314159265358979 schrieb:

Bring ein Beispiel, aber schreib keinen Müll.


Ok.

C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
enum Color
{
      black,
      blue,
      green,
      cyan,
      red,
      magenta,
      brown,
      light_grey,
      dark_grey,
      light_blue,
      light_green,
      light_cyan,
      light_red,
      light_magenta,
      yellow,
      white
};
 
//...
 
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), TextColour + 16 * BackgroundColor);

Mal abgesehen, dass mich Beispiele mit Windoof-spezifischem Code ankotzen, ergibt dein Beispiel doch gar keinen Sinn.


Selbstverständlich ergibt es Sinn.

314159265358979 schrieb:
Was soll denn bei 2*black rauskommen? Woher weißt du, dass 165*red immer noch red ist?


Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?).
314159265358979
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
Beitrag 314159265358979 Mitglied 22:23:44 14.05.2012   Titel:              Zitieren

Hacker schrieb:
Selbstverständlich ergibt es Sinn.

Nein, tut es nicht. Farben werden üblicherweise als RGB, HSV, CMYK oder andere dargestellt. Aber ein BBGCRMBL_GD_GL_BL_GL_CL_RL_MYW Farbsystem kenn ich noch nicht.

Hacker schrieb:
Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?).

Die Fragen waren vermutlich falsch formuliert. Aber ich bin mal so frei und stelle direkt die fundementalere Frage: Welche interne Repräsentation schwebt dir vor? Das würde mich nun schon sehr interessieren. Am besten implementierst du den *-Operator, gibst jeder Farbe einen bestimmten Wert und schreibst eine Funktion std::array<unsigned char, 3> to_rgb(Color).
Unregistrierter





Beitrag Unregistrierter 22:35:45 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:
Hacker schrieb:
Selbstverständlich ergibt es Sinn.

Nein, tut es nicht. Farben werden üblicherweise als RGB, HSV, CMYK oder andere dargestellt.

Microsoft! :D
Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig).
314159265358979 schrieb:


Hacker schrieb:
Deine Fragen ergeben doch gar keinen Sinn, denn 2 * black ist 0 und 165 * red ist selbstverständlich irgendeine Zahl (und wieso zum Teufel sollte die dann red sein!?).

Die Fragen waren vermutlich falsch formuliert. Aber ich bin mal so frei und stelle direkt die fundementalere Frage: Welche interne Repräsentation schwebt dir vor? Das würde mich nun schon sehr interessieren. Am besten implementierst du den *-Operator, gibst jeder Farbe einen bestimmten Wert und schreibst eine Funktion std::array<unsigned char, 3> to_rgb(Color).


Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon?
314159265358979
Mitglied

Benutzerprofil
Anmeldungsdatum: 09.03.2010
Beiträge: 4658
Beitrag 314159265358979 Mitglied 22:41:08 14.05.2012   Titel:              Zitieren

Hacker schrieb:
Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig).

Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst.

Hacker schrieb:
Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon?

Dein enum Color basiert auf einem Datentyp. Jeder deiner enum-Werte braucht einen entsprechenden Wert des Datentyps.
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5613
Beitrag dot Mitglied 22:45:54 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:
Hacker schrieb:
Selbstverständlich ergibt es Sinn.

Nein, tut es nicht. Farben werden üblicherweise als RGB, HSV, CMYK oder andere dargestellt. Aber ein BBGCRMBL_GD_GL_BL_GL_CL_RL_MYW Farbsystem kenn ich noch nicht.

http://en.wikipedia.org/wiki/Color_Graphics_Adapter, http://en.wikipedia.org/wiki/Video_Graphics_Array#Standard_text_modes ;)

_________________
one point of view will never reveal the entire scene.


Zuletzt bearbeitet von dot am 22:48:05 14.05.2012, insgesamt 1-mal bearbeitet
Unregistrierter





Beitrag Unregistrierter 22:46:12 14.05.2012   Titel:              Zitieren

314159265358979 schrieb:
Hacker schrieb:
Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig).

Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst.


Ich jetzt auch nicht mehr (wieso passiert mir das immer?). Dann hat aber Microsoft mich mal wieder enttäuscht... ohne Farbkanäle...

314159265358979 schrieb:

Hacker schrieb:
Tut mir leid wenn ich dir jetzt sehr blöde Fragen stelle, aber was heißt "interne Repräsentation"? Wovon?

Dein enum Color basiert auf einem Datentyp. Jeder deiner enum-Werte braucht einen entsprechenden Wert des Datentyps.
[/quote]

Ist klar- die sind gegeben (0, 1, 2, ...).
dot
Mitglied

Benutzerprofil
Anmeldungsdatum: 20.05.2004
Beiträge: 5613
Beitrag dot Mitglied 22:48:55 14.05.2012   Titel:              Zitieren

Hacker schrieb:
314159265358979 schrieb:
Hacker schrieb:
Aber mit 8 Bit kann man kein RGB machen (durch drei geht nicht, und für jeden Farbkanal zwei Bit ist zu wenig).

Keine Ahnung, wie du auf einmal auf 8 Bit pro Farbe kommst.


Ich jetzt auch nicht mehr (wieso passiert mir das immer?). Dann hat aber Microsoft mich mal wieder enttäuscht... ohne Farbkanäle...

Das hat alles nichts mit Microsoft zu tun, so funktioniert nunmal der Text Mode am PC :rolleyes:

_________________
one point of view will never reveal the entire scene.


Zuletzt bearbeitet von dot am 22:49:45 14.05.2012, insgesamt 1-mal bearbeitet
c++.de :: C++ (auch C++0x und C++11) ::  enum class Problem  
Gehen Sie zu Seite Zurück  1, 2, 3, 4  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.