titel



  • nachrichtentext



  • Torboe schrieb:

    da hab ich mich dann gefragt, warum dazu nicht ein * vor x und y in der zeile

    summe += x[i] * y[i];
    

    gesetzt werden muss? ich will doch auf den inhalt zugreifen oder?

    Die Funktion erwartet ein T*. Wenn du den Indexoperator anwendest, dereferenzierst du automatisch. Es gilt folgende Äquivalenz:

    ptr[i] == *(ptr+i)
    

    Torboe schrieb:

    zu 2) hab ich leider keine ahnung. verstehe die frage nicht. deswegen bin ich eigentlich hier ;).

    Die ist eigentlich recht einfach. Überleg dir halt, welche Operatoren du in der Funktion für den Typen T voraussetzt. Zum Beispiel operator* .

    Übrigens finde ich die letzten beiden Parameter ziemlich fragwürdig. Übergib doch einfach einen int mit der Grösse. Du brauchst auch keine Referenz, da sich die Grösse ja nicht ändert.



  • nachrichtentext



  • Torboe schrieb:

    gut, der vorletzte parameter müsste kein T sein, sondern könnte int sein. Aber beim letzten parameter: wie soll ich denn die anzahl zählen, wenn nicht durch erhöhen (anz++) in der schleife?

    Er darf vorallem kein T sein.

    Stell dir mal vor T wäre double oder complex. unsigned oder size_t wären hier der richtige Typ

    und zu anz:
    Wo steht denn dass du die anzahl brauchst?

    anz ist am ende sowieso immer gleich groß wie zahl1...

    PS:
    2) ist korrekt.
    fast zumindest: du brauchst den operator+= und nicht den operator+
    Das sind 2 unterschiedliche operatoren (die idR das selbe machen - aber eben 2 unterschiedliche operatoren).



  • nachrichtentext


Log in to reply