/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
c++, problemer med en liste af objekter me~
Fra : Dennis


Dato : 04-04-04 14:43

Hej

Jeg har lidt problemere ved brug af template i en struct. Jeg har en
struct som har et member af typen Array1d som er en template:

typedef TNT::Array1D<double> dVector3;

typedef struct sParticle{
   dVector3 position;

   sParticle():position(3)
   {
   }
}sParticle


Når jeg så laver en liste (STL liste) af sParticle får jeg kun oprettet
en dVector3 som samtlige sParticle i listen peger på. Hvordan får jeg
oprettet en dVector3 for hvert enkelt objekt i listen ???
Jeg vil lige nævne at det virker hvis jeg har defineret dVector3 som et
array af double istedet for.

Håber der er nogle der kan hjælpe da jeg ikke har kunnet finde noget på
nettet efter at have søgt hele lørdag

Dennis

 
 
Mogens Hansen (04-04-2004)
Kommentar
Fra : Mogens Hansen


Dato : 04-04-04 15:03

Dennis wrote:

[8<8<8<]
> typedef TNT::Array1D<double> dVector3;
>
> typedef struct sParticle{
>    dVector3 position;
>
>    sParticle():position(3)
>    {
>    }
> }sParticle

Det ser lidt atypisk ud i C++.
Det er mere almindeligt at skrive:

struct sParticle{
   dVector3 position;

   sParticle():position(3)
   {
   }
};

Jeg er ikke sikker på om det spiller nogen rolle.

>
>
> Når jeg så laver en liste (STL liste) af sParticle får jeg kun oprettet
> en dVector3 som samtlige sParticle i listen peger på.

Hvordan konstaterer du det ?

Venlig hilsen

Mogens Hansen


Dennis (04-04-2004)
Kommentar
Fra : Dennis


Dato : 04-04-04 15:53

On Sun, 04 Apr 2004 16:02:38 +0200
Mogens Hansen <mogens_h@dk-online.dk> wrote:

> Dennis wrote:
>
> [8<8<8<]
> > typedef TNT::Array1D<double> dVector3;
> >
> > typedef struct sParticle{
> >    dVector3 position;
> >
> >    sParticle():position(3)
> >    {
> >    }
> > }sParticle
>
> Det ser lidt atypisk ud i C++.
> Det er mere almindeligt at skrive:
>
> struct sParticle{
>    dVector3 position;
>
>    sParticle():position(3)
>    {
>    }
> };
>
> Jeg er ikke sikker på om det spiller nogen rolle.
>

Det tror jeg ikke gør nogen forskel da det jo har virket bare med
dVector3 som et array istedet for.

> >
> >
> > Når jeg så laver en liste (STL liste) af sParticle får jeg kun
> > oprettet en dVector3 som samtlige sParticle i listen peger på.
>
> Hvordan konstaterer du det ?
>
Værdien for alle objecter i listen er ens, hvis jeg ændrer værdien for
et objekts position ændres det for alle andre, hvis jeg skriver
addressen ud i consollen for alle objekternes position vektor er den det
samme.

Dennis

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste