Page 5 of 5 FirstFirst 12345
Results 61 to 73 of 73

Thread: C++ help

  1. #61
    Warrant Officer marlborojack's Avatar
    Join Date
    Mar 2009
    Location
    Pisa
    Posts
    3.215

    Default

    Quote Originally Posted by Axet View Post
    Vero, dopo una giornata a sbattere la testa su sta merda non ci avevo pensato.
    Btw però così facendo avrei bisogno di un puntatore per ogni oggetto nel container, a sto punto manco mi servirebbe più il vector

    Cioè non posso fare così, mi serve che sia gestibile dinamicamente :O
    Devi essere molto stanco. leggi qui

    "memorizzare nel vector non gli oggetti ma puntatori ad essi"
    Happiness in intelligent people is the rarest thing I know.

  2. #62
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Quote Originally Posted by marlborojack View Post
    Devi essere molto stanco. leggi qui

    "memorizzare nel vector non gli oggetti ma puntatori ad essi"
    Ci sto dietro da stamani praticamente non stop, fai due conti tu t_t

    Domani ci riguardo mo veramente basta perchè ha iniziato a darmi un'errore strano e son tipo 30 minuti che guardo lo schermo senza capire da dove provenga una cosa del genere se io la classe che mo da errore non l'ho sfiorata manco con un dito t_t
    domani t_T

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  3. #63
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Quote Originally Posted by marlborojack View Post
    Devi essere molto stanco. leggi qui

    "memorizzare nel vector non gli oggetti ma puntatori ad essi"
    Provato ma non me lo fa fare. La pagina di wiki che mi hai linkato (e ieri sera manco me ne ero accorto rotfl) dice che per far si che il riallocamento del vector sia più veloce e meno oberante dal punto di vista computazionale/temporale conviene passare al vector il puntatore invece che l'oggetto in se.. ed è quello che faccio io, ti copio il codice della dichiarazione e dell'assegnamento.

    vector<parallelepiped*> parals;
    ...
    ...
    ...
    parallelepiped* paral = new parallelepiped(name, floor);
    parals.push_back(paral).

    Se faccio come hai detto tu, dichiarando quindi un vettore così:
    vector<parsedObject*> objects;

    me lo mette senza problemi nel vettore, ma poi quando vado a reperire il dato non me lo reperisce più come parallelepiped bensì come parsedObject.

    Ah ovviamente parsedObject è padre, parallelepiped è figlio.

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  4. #64
    Warrant Officer marlborojack's Avatar
    Join Date
    Mar 2009
    Location
    Pisa
    Posts
    3.215

    Default

    Quote Originally Posted by Axet View Post
    Provato ma non me lo fa fare. La pagina di wiki che mi hai linkato (e ieri sera manco me ne ero accorto rotfl) dice che per far si che il riallocamento del vector sia più veloce e meno oberante dal punto di vista computazionale/temporale conviene passare al vector il puntatore invece che l'oggetto in se.. ed è quello che faccio io, ti copio il codice della dichiarazione e dell'assegnamento.

    vector<parallelepiped*> parals;
    ...
    ...
    ...
    parallelepiped* paral = new parallelepiped(name, floor);
    parals.push_back(paral).

    Se faccio come hai detto tu, dichiarando quindi un vettore così:
    vector<parsedObject*> objects;

    me lo mette senza problemi nel vettore, ma poi quando vado a reperire il dato non me lo reperisce più come parallelepiped bensì come parsedObject.

    Ah ovviamente parsedObject è padre, parallelepiped è figlio.
    Quando vai a reperire il dato, devi fare il gioco dei puntatori, ovvero qualcosa tipo parallelepiped* punt = objects.get(i), perchè objects[i] dovrebbe contenere il puntatore e quindi l'indirizzo della zona di memoria che contiene l'oggetto parallelepiped
    Happiness in intelligent people is the rarest thing I know.

  5. #65
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Quote Originally Posted by marlborojack View Post
    Quando vai a reperire il dato, devi fare il gioco dei puntatori, ovvero qualcosa tipo parallelepiped* punt = objects.get(i), perchè objects[i] dovrebbe contenere il puntatore e quindi l'indirizzo della zona di memoria che contiene l'oggetto parallelepiped
    E secondo te non l'ho fatto?
    Mi dice che non può castare da parsedObject a parallelepiped

    Cmq ho trovato una soluzione alternativa quindi amen
    Grazie cmq

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  6. #66
    Petty Officer 2nd Class mahoney's Avatar
    Join Date
    Nov 2003
    Location
    Teramo
    Posts
    628

    Default

    parallelepiped* punt = (parallelepiped*)objects.get(i);

    ovviamente ti da parsedObject, contiene proprio quelli, e cmq se inizializzi l'oggetto(new....) come parallelepiped, la conversione a parallelepiped* ti da accesso a tutti i dati.

  7. #67
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Nuovo giro, nuovo gioco

    Come fare a dichiarare dinamicamente degli array? Mi spiego meglio:


    for(int i = 2; i <= CAMP; i++)
    {
    double add[4] = {x, y, z, 1.0};
    preRot.push_back(add);
    }

    n.b.:
    preRot è vector di double*... vector<double*> preRot;
    Nel ciclo riportato qua sopra vorrei far si che ad ogni iterazione mi venga generato un nuovo array. invece così facendo mi ripiazza sempre il puntatore alla medesima locazione di memoria quindi mi trovo 4784 valori uguali perchè in ogni cella del vector c'è sempre lo stesso puntatore a double -_-

    Ho provato con un po' di sintassi java-like (lol QQ) ma niente, documentazione su internet idem.

    Dai lo so che voi illuminati ci mettete 10 secondi a risolvere sta troiata, elargitemi la conoscenza
    Last edited by Axet; 5th November 2009 at 19:38.

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  8. #68
    Lieutenant Commander Rayvaughan's Avatar
    Join Date
    Mar 2005
    Location
    45.663989,8.783906
    Posts
    17.274

    Default

    int = 2 non da errore?
    edit: visto la classe vector asd

  9. #69
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Edito ovviamente è int i, ho scritto non ho copia-incollato

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  10. #70
    Lieutenant Commander Alkabar's Avatar
    Join Date
    Feb 2004
    Location
    Netherlands.
    Posts
    19.975

    Default

    Madooo che ditarculoooo. Scompaio di nuovo. .

  11. #71
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Ce l'ho fatta, sbagliavo a usare la new come un pollo

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  12. #72
    Lieutenant Commander Axet's Avatar
    Join Date
    Sep 2003
    Location
    Ginevra
    Posts
    33.807

    Default

    Ma non lo banniamo sto qua? E' una sorta di strano bot ..

    I'm no hero. Never was. Never will be.
    -----
    Soul of the mind, key to life's ether
    Soul of the lost, withdrawn from its vessel
    May strength be granted so the world might be mended...
    So the world might be mended...

  13. #73
    Lieutenant Commander Rayvaughan's Avatar
    Join Date
    Mar 2005
    Location
    45.663989,8.783906
    Posts
    17.274

    Default

    è un bot all'incontrario

Page 5 of 5 FirstFirst 12345

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[Output: 92.97 Kb. compressed to 79.21 Kb. by saving 13.75 Kb. (14.80%)]