frage zu zeigern



  • ich wollte eigentlich nur wissen warum man in diesem beispiel:

    class simpleNet{
    private:
    	float **ihWeights, **hoWeights;
    	float **ihWDelta, **hoWDelta;
    	float *inI, *inH, *inO;
    	float *outI, *outH, *outO;
    	float *errH, *errO, *prefO, *diffO;
    	int amountI, amountH, amountO;
    	float errTol, learnRate, impuls;
    	void setZero();
    	void mem_alloc(int dimI, int dimH, int dimO);
    	void backprop();
    public:
        simpleNet(int dimI, int dimH, int dimO);
        simpleNet(int dimI, int dimH, int dimO, float **ihW, float **hoW);
        simpleNet(char* filename);
        ~simpleNet();
        bool saveWeightsToFile(char* filename);
        float getE();
        float *getOutput();
        float *getODiff();
        void setErrTolerance(float tol);
        void setLearnRate(float rate);
        void setImpuls(float imp);
        float *run(float *input);
        bool train(float *input, float *pOutput);
    };
    
    float *getOutput();
    

    einen zeiger verwendet hat?
    warum verwendet man zeiger an fkt.

    float *simpleNet::getOutput(){
        return outO;
    }
    

    😕 😕 😕



  • Ich vermute, dass es bei den Output um ein Array von Floats handelt, dessen Startadresse zurückgeliefert wird.



  • Ich glaube der Fragesteller denkt, das die Funktion ein Pointer hat/ist. Ihm ist nicht bewusst, das der Rückgabetyp ein Pointer ist. Denn so ist es für einen Anfänger eher verständlich:

    float* getOutput();
    


  • aso, stimmt der rückgabetyp ist ein zeiger!
    hat das eine best. bewandnis. eine normale variable hätte doch den selben effekt?



  • //edit^^



  • irre ich mich? eigentlich kann man doch auf zeiger fast vollständig verzichten! es ist fast alles auch mit referenzen möglich. lediglich die arrays sind sinnvoll?!
    oder?



  • Du kriegst einen Zeiger auf float's, da du ja mehrere Ausgabeneuronen hast.
    Also ein Array von auf float.

    Jockel



  • man kann viel mit Referenzen anstatt mit Zeigern machen, stimmt schon, aber dann doch nich fast alles.
    Alles was zum Beispiel über dynamische Speicherverwallung läuft. da brauchst du Zeiger


Anmelden zum Antworten