Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

25.11.2005, 09:00

#define undefinierte Parameter

Hi Leute,

Gibt es eine Möglichkeit in einem #define eine undefinierte Anzahl von Parameter zu definieren?

Also in der Art

#define Output(msg, ... )

Anonymous

unregistriert

2

25.11.2005, 09:32

Gast
Finger weg von #define und nein es geht nicht ohne tieferes tricksen

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

25.11.2005, 09:48

Zitat von »"nix da"«

Gast
Finger weg von #define und nein es geht nicht ohne tieferes tricksen

nix da
Ich finde #define super. Du brauchst nicht zu argumentieren, das hast Du ja bereits an der ein oder anderen Stelle getan ;) Meiner Meinung nach ist das Geschmackssache. #define kann ein sehr starkes Wekrzeug sein. Es kann auch viel Unvorhergesehenes erzeugen, aber dann meckert meistens eh schon der Compiler.

Gast
Aber Patrick hat Recht: Es geht nicht ohne Weiteres.

Heiko Kalista

Treue Seele

Beiträge: 99

Wohnort: Hessen

  • Private Nachricht senden

4

25.11.2005, 10:57

Hi!

Ehrlich gesagt würde ich auch möglichst auf #define verzichten. Natürlich gibts Stellen, an denen es gut eingesetzt werden kann. Aber ansonsten würd ich z.B. konstante Membervariablen verwenden, da so die Typensicherheit gewährt ist.

mfg,
Heiko

Paul_C.

Frischling

Beiträge: 81

Wohnort: Duisburg

  • Private Nachricht senden

5

25.11.2005, 11:44

Aber er hat doch bloß gefragt, ob es möglich ist. Ist es anscheinend. Dann könnt ihr ihm doch auch sagen, wie?!

Anonymous

unregistriert

6

25.11.2005, 11:50

Steven77
Man sollte es dennoch nur für Includeguards verwenden. Für konstanten sollte dies absolut tabu sein.

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

25.11.2005, 13:25

Zitat von »"nix da"«

Steven77
Man sollte es dennoch nur für Includeguards verwenden. Für konstanten sollte dies absolut tabu sein.

Sehe ich auch so. Für Konstanten benutze ich auch kein #define.

Es gibt aber noch unzählige weitere Verwendungsmöglichkeiten, z.B.:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define DECLARE_SINGLETON(class_name) \
 public:                               \
   static class_name& instance();      \
 private:                              \
     class_name() { }                    \
     class_name(const class_name&) { }


#define DEFINE_SINGLETON(class_name) \
class_name& class_name::instance()   \
{                                     \
  static class_name instance;           \
  return instance;                     \
}

Aber -- wie gesagt -- das ist alles Geschmackssache. Ich persönlich find's praktisch.

Zitat von »"Paul_C."«

Aber er hat doch bloß gefragt, ob es möglich ist. Ist es anscheinend. Dann könnt ihr ihm doch auch sagen, wie?!

Auf Anhieb wüsste ich jetzt auch nicht wie...

Anonymous

unregistriert

8

25.11.2005, 13:38

Steven77
Bist Du wahnsenig dafür #define zu benutzen?? Dafür schreibt man ein Template! In anderen Foren würde man dich dafür lünschen!

Steven77

Alter Hase

Beiträge: 515

Wohnort: Münster - Gievenbeach

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

25.11.2005, 15:01

Zitat von »"nix da"«

Steven77
[...] In anderen Foren würde man dich dafür lünschen!

Ich find', das geht hier hin und wieder auch schon ganz gut ab... :-D

Lemming

Alter Hase

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

10

25.11.2005, 16:06

in dem fall kann ich nix da aber nur zustimmen...
für singleton hab ich auch nen template und ich finds einfach klasse!
aber für bitflags oder ähnliches nehm ich auch #define
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Werbeanzeige