struct donne
{
double Int;
double Ext;
double IntExt;
}
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les données ?
Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int;
for (int i=0;i<256;i++,ptr+=3)
{
*ptr=1.0;
}
Afin d'initialiser tous les champ Int de toutes les classes du tableau ?
Et si oui est-ce que ca reste valable si je fait un tableau dynamique à la C
(new/delete) ? ou avec std::vector<donne> ?
nan. Enfin, pas que je sache en tout cas.. j'suis probablement plus ancien. (d'ailleurs il serait temps que je finisse ma thèse, un jour. pour commencer je devrais arrêter de bavarder dans fcl.c++ ..)
-- Sam
le Wednesday 24 September 2003 21:26, dosreis@cmla.ens-cachan.fr écrivit :
donc tu dois connaître Samy, je suppose.
nan. Enfin, pas que je sache en tout cas.. j'suis probablement plus ancien.
(d'ailleurs il serait temps que je finisse ma thèse, un jour. pour
commencer je devrais arrêter de bavarder dans fcl.c++ ..)
nan. Enfin, pas que je sache en tout cas.. j'suis probablement plus ancien. (d'ailleurs il serait temps que je finisse ma thèse, un jour. pour commencer je devrais arrêter de bavarder dans fcl.c++ ..)
-- Sam
Jacti
Bonjour,
J'utilise une classe de base tres simple :
struct donne { double Int; double Ext; double IntExt; }
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les données ? Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int; for (int i=0;i<256;i++,ptr+=3) { *ptr=1.0; }
Afin d'initialiser tous les champ Int de toutes les classes du tableau ? Et si oui est-ce que ca reste valable si je fait un tableau dynamique à la C (new/delete) ? ou avec std::vector<donne> ?
C'est toujours très dangereux, dans quelque langage que ce soit, de supposer la façon dont les données sont allouées sauf quand la norme est explicite. En clair c'est de la mauvaise programmation.
Jacti
Bonjour,
J'utilise une classe de base tres simple :
struct donne
{
double Int;
double Ext;
double IntExt;
}
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les données ?
Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int;
for (int i=0;i<256;i++,ptr+=3)
{
*ptr=1.0;
}
Afin d'initialiser tous les champ Int de toutes les classes du tableau ?
Et si oui est-ce que ca reste valable si je fait un tableau dynamique à la C
(new/delete) ? ou avec std::vector<donne> ?
C'est toujours très dangereux, dans quelque langage que ce soit, de supposer
la façon dont les données sont allouées sauf quand la norme est explicite.
En clair c'est de la mauvaise programmation.
struct donne { double Int; double Ext; double IntExt; }
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les données ? Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int; for (int i=0;i<256;i++,ptr+=3) { *ptr=1.0; }
Afin d'initialiser tous les champ Int de toutes les classes du tableau ? Et si oui est-ce que ca reste valable si je fait un tableau dynamique à la C (new/delete) ? ou avec std::vector<donne> ?
C'est toujours très dangereux, dans quelque langage que ce soit, de supposer la façon dont les données sont allouées sauf quand la norme est explicite. En clair c'est de la mauvaise programmation.
Jacti
May
"Jacti" a écrit dans le message de news:
Bonjour,
J'utilise une classe de base tres simple :
struct donne { double Int; double Ext; double IntExt; }
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les données ?
Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int; for (int i=0;i<256;i++,ptr+=3) { *ptr=1.0; }
Afin d'initialiser tous les champ Int de toutes les classes du tableau ? Et si oui est-ce que ca reste valable si je fait un tableau dynamique à la C
(new/delete) ? ou avec std::vector<donne> ?
C'est toujours très dangereux, dans quelque langage que ce soit, de supposer
la façon dont les données sont allouées sauf quand la norme est explicite. En clair c'est de la mauvaise programmation.
Jacti
C'est pour cela que je demandais ce que dit la norme sur ce probleme ...
May
"Jacti" <jacti@jacti-antispam.com> a écrit dans le message de
news:3F7851BD.D671E408@jacti-antispam.com...
Bonjour,
J'utilise une classe de base tres simple :
struct donne
{
double Int;
double Ext;
double IntExt;
}
puis un tableau aloué statiquement pour le moment
donne Tab[1024];
Ma question est assez simple, dans quel ordre en memoire, sont les
données ?
Est-ce que je peux faire un truc du genre :
double *ptr=&Tab[0].Int;
for (int i=0;i<256;i++,ptr+=3)
{
*ptr=1.0;
}
Afin d'initialiser tous les champ Int de toutes les classes du tableau ?
Et si oui est-ce que ca reste valable si je fait un tableau dynamique à
la C
(new/delete) ? ou avec std::vector<donne> ?
C'est toujours très dangereux, dans quelque langage que ce soit, de
supposer
la façon dont les données sont allouées sauf quand la norme est explicite.
En clair c'est de la mauvaise programmation.
Jacti
C'est pour cela que je demandais ce que dit la norme sur ce probleme ...