int zu Konstanten casten?
-
Hallo,
ich möchte auf EDITTEXT Elemente meiner API zugreifen. Da es ziemlich viele sind, würde ich das gerne mit einer for-schleife realisieren.
Die Namen meiner EDITTEXT Elemente sind, ELEM_1, ELEM_2, ELEM_3, ...Dies sind ja nur leider Konstanten. Ich bräuchte also irgendwie sowas:
#temp_const = #"ELEM_".i
Also variable Variablen.Vielleicht versteht mich ja jemand und kann mir weiterhelfen?
-
Brauchst du das als String? Wenn dem so is nimm doch einfach std::string und bastel dir dein Namen zusammen.
Wenn du Variablennamen dynamisch erstellen willst: das geht nicht. Alternativ nimmst du dann ein Array.
-
Mhh, also Visual Studio definiert ja für jedes Window-Element eine Konstante, die den Int-Wert des Elementes enthält. Ich würde mir also gerne den Konstanten-Namen zusammenbasteln. Das geht also nicht?
-
Wenn du den Namen einer Konstanten meinst, dann nein.
-
Ich mach das bei MFC Programmen fast immer so:
void Foo::Bar() { static const int ids[] = { ELEM_1, ELEM_2, ELEM_3, ELEM_4, ELEM_5, ELEM_6, }; for (unsigned i = 0; i < (siezof(ids)/siezof(ids[0])); i++) Whatever(ids[i]); }Wird das Array in mehreren Funktionen gebraucht wird es eben in einen nameless namespace gepackt (der natürlich richtigerweise "anonymous namespace" heisst) -- und bekommt dann natürlich einen sprechenderen Namen.
-
Genial, danke!