Zeiger, Zeiger und Zeiger



  • Hallo.
    Ich hab da so ein Problem, das mich schon länger beschäftigt.
    Und zwar:

    Ich habe einen Zeiger, der auf floats zeigt.
    Nun hab ich eine stl_map, die Zeiger auf einen Klassentyp hat. Nun möchte ich mit dem Zeiger auf floats, auf einen Wert, IN der Klasse zeigen.
    Wie geht das?

    Danke



  • Scheint so, als würdest Du Zeiger lieber als "normale" C++ Programmierer mögen. 😉

    So oder so, sehe ich das Problem dabei aber nicht. Wenn Du die Adresse von etwas haben willst, schreibst du den Adressoperator davor. Fertig.



  • Meinst du so ?

    #include <map>
    using namespace std; 
    
    class MyClass
    {
    public:
    	float myFloat;
    	MyClass(float val)
    	{
    		myFloat = val;
    	}
    };
    
    int main(void) 
    { 
    	map<int, MyClass*> myMap;
    	myMap[0] = new MyClass(1.0f);
    	myMap[1] = new MyClass(2.0f);
    
            //Methode 1
    	float* floatPtr;
    	floatPtr = &myMap[0]->myFloat;
    	float data = *floatPtr;
    
            //Methode 2
    	float MyClass::*ptrMember = &MyClass::myFloat;
    	float data2 = myMap[0]->*ptrMember;
    }
    


  • Ja hab ich auch versucht, ist aber immer abgestürzt.
    Hab gerade bemerkt, dass das Problem, ein ganz anderes war und nichts damit zu tun hatte 😃



  • coder++ schrieb:

    Hab gerade bemerkt, dass das Problem, ein ganz anderes war und nichts damit zu tun hatte

    Das glaube ich Dir gern. Hört sich nämlich fast schrecklich an, Deine Problembeschreibung. Zu viel Gezeigere.



  • kkaw schrieb:

    coder++ schrieb:

    Hab gerade bemerkt, dass das Problem, ein ganz anderes war und nichts damit zu tun hatte

    Das glaube ich Dir gern. Hört sich nämlich fast schrecklich an, Deine Problembeschreibung. Zu viel Gezeigere.

    😃


Log in to reply