Új hozzászólás Aktív témák

  • proof88

    addikt

    válasz HussarF #2617 üzenetére

    nem, ilyenkor a vector-ok másolódnak, azaz új vector objektumok keletkeznek, az eredetik tartalmával, és a függvény a másolatokon fog dolgozni, nem az eredetiken. A vektorokat add át referenciaként, pl:
    vector<double>& E_tarolo
    vagy pl.:
    vector<vector<double>>& hkm

    így az eredeti, függvénynek megadott vektorokkal fog dolgozni a függvény, mert csak referenciát adsz át neki.
    Ezzel máris megspórolsz egy csomó dinamikus memóriafoglalást, melyek eddig mindig megtörténtek bármelyik vector-os függvényed hívásakor (a komplett vektor lemásolása végett).

    Amúgy Debug vagy Release módban fordítasz? Utóbbiban gyorsabb lesz a futás, persze fejleszteni Debug-ban ajánlott, a jobb hibakeresés végett.

    Igazából nem tudom, milyen célja van ezeknek a vektoroknak, ezek csak bemeneti paraméterek? Mert ha igen, és a függvény nem is módosít rajtuk, csak olvassa őket, akkor még a const-ot is odaírhatod eléjük, pl.:

    void PhotoEffect(double *E1, int *sz_E, const vector<double>& E_tarolo)

    Illetve ami még nem világos, hogy pl ennél a függvénynél az E1 ill. sz_E paraméterek valóban tömbökre mutatnak?

Új hozzászólás Aktív témák