Je débute avec la STL et je me demande si les implémentations des conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les
conteneurs manipulent des pointeurs comme objets "contenus".
Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu
et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir
ce choix ?
Je débute avec la STL et je me demande si les implémentations des conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les
conteneurs manipulent des pointeurs comme objets "contenus". Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu
et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir
ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Marc O.
"Guillaume Gourdin" a écrit dans le message de news:bttvqi$f39$
Je débute avec la STL et je me demande si les implémentations des conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les
conteneurs manipulent des pointeurs comme objets "contenus". Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu
et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir
ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> > pour avoir un comportement satisfaisant au lieu de faire vector<int*>
"Guillaume Gourdin" <toto@toto.com> a écrit dans le message de
news:bttvqi$f39$1@news.tiscali.fr...
Je débute avec la STL et je me demande si les implémentations des
conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque
les
conteneurs manipulent des pointeurs comme objets "contenus".
Y a-t-il des justifications techniques qui fait que cela n'a pas été
retenu
et si non, quelles sont les raisons qui ont amené le comité à ne pas
retenir
ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi
faut-il un vector<auto_ptr<int*> > pour avoir un comportement satisfaisant
au lieu de faire vector<int*>
"Guillaume Gourdin" a écrit dans le message de news:bttvqi$f39$
Je débute avec la STL et je me demande si les implémentations des conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les
conteneurs manipulent des pointeurs comme objets "contenus". Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu
et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir
ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> > pour avoir un comportement satisfaisant au lieu de faire vector<int*>
Fabien LE LEZ
On Mon, 12 Jan 2004 12:33:06 +0100, "Marc O." wrote:
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> >
Ça ne marchera pas.
pour avoir un comportement satisfaisant au lieu de faire vector<int*>
Tu veux dire que le destructeur de vector<int*> (et pop_back, erase, etc.) devrait appeler delete sur les pointeurs contenus ? Concept intéressant (et il n'est pas bien difficile de faire ton propre conteneur avec ces spécifications), mais inutilisable dans le cas général : comment savoir d'où viennent les pointeurs, et si oui ou non il faut appeler delete ?
On Mon, 12 Jan 2004 12:33:06 +0100, "Marc O." <nospam@please.com>
wrote:
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi
faut-il un vector<auto_ptr<int*> >
Ça ne marchera pas.
pour avoir un comportement satisfaisant
au lieu de faire vector<int*>
Tu veux dire que le destructeur de vector<int*> (et pop_back, erase,
etc.) devrait appeler delete sur les pointeurs contenus ? Concept
intéressant (et il n'est pas bien difficile de faire ton propre
conteneur avec ces spécifications), mais inutilisable dans le cas
général : comment savoir d'où viennent les pointeurs, et si oui ou non
il faut appeler delete ?
On Mon, 12 Jan 2004 12:33:06 +0100, "Marc O." wrote:
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> >
Ça ne marchera pas.
pour avoir un comportement satisfaisant au lieu de faire vector<int*>
Tu veux dire que le destructeur de vector<int*> (et pop_back, erase, etc.) devrait appeler delete sur les pointeurs contenus ? Concept intéressant (et il n'est pas bien difficile de faire ton propre conteneur avec ces spécifications), mais inutilisable dans le cas général : comment savoir d'où viennent les pointeurs, et si oui ou non il faut appeler delete ?
On Mon, 12 Jan 2004 08:43:23 +0100, "Marc O." wrote:
Je débute avec la STL et je me demande si les implémentations des conteneurs de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les conteneurs manipulent des pointeurs comme objets "contenus".
A priori, un pointeur est un objet comme un autre. La seule spécialisation que je connaisse, c'est vector<bool>, justifiée par le fait qu'un bool prend moins de 8 bits. Et cette spécialisation n'est pas forcément une bonne idée.
On Mon, 12 Jan 2004 08:43:23 +0100, "Marc O." <nospam@please.com>
wrote:
Je débute avec la STL et je me demande si les implémentations des conteneurs
de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les
conteneurs manipulent des pointeurs comme objets "contenus".
A priori, un pointeur est un objet comme un autre.
La seule spécialisation que je connaisse, c'est vector<bool>,
justifiée par le fait qu'un bool prend moins de 8 bits. Et cette
spécialisation n'est pas forcément une bonne idée.
On Mon, 12 Jan 2004 08:43:23 +0100, "Marc O." wrote:
Je débute avec la STL et je me demande si les implémentations des conteneurs de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les conteneurs manipulent des pointeurs comme objets "contenus".
A priori, un pointeur est un objet comme un autre. La seule spécialisation que je connaisse, c'est vector<bool>, justifiée par le fait qu'un bool prend moins de 8 bits. Et cette spécialisation n'est pas forcément une bonne idée.
"Guillaume Gourdin" a écrit dans le message de news:bttvqi$f39$
Je débute avec la STL et je me demande si les implémentations des conteneurs de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les conteneurs manipulent des pointeurs comme objets "contenus". Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> > pour avoir un comportement satisfaisant au lieu de faire vector<int*>
Tu as une drôle de définition de « satisfaisant » : une erreur de compilation avec une bibliothèque à jour, et un comportement indéfini si jamais ça passe la comple.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"Marc O." <nospam@please.com> wrote in message
news:<btu0ln$ar9$1@biggoron.nerim.net>...
"Guillaume Gourdin" <toto@toto.com> a écrit dans le message de
news:bttvqi$f39$1@news.tiscali.fr...
Je débute avec la STL et je me demande si les implémentations des
conteneurs de celle-ci auraient pu offrir des spécialisations des
fonctions lorsque les conteneurs manipulent des pointeurs comme
objets "contenus". Y a-t-il des justifications techniques qui fait
que cela n'a pas été retenu et si non, quelles sont les raisons
qui ont amené le comité à ne pas retenir ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est
pourquoi faut-il un vector<auto_ptr<int*> > pour avoir un comportement
satisfaisant au lieu de faire vector<int*>
Tu as une drôle de définition de « satisfaisant » : une erreur de
compilation avec une bibliothèque à jour, et un comportement indéfini si
jamais ça passe la comple.
--
James Kanze GABI Software mailto:kanze@gabi-soft.fr
Conseils en informatique orientée objet/ http://www.gabi-soft.fr
Beratung in objektorientierter Datenverarbeitung
11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16
"Guillaume Gourdin" a écrit dans le message de news:bttvqi$f39$
Je débute avec la STL et je me demande si les implémentations des conteneurs de celle-ci auraient pu offrir des spécialisations des fonctions lorsque les conteneurs manipulent des pointeurs comme objets "contenus". Y a-t-il des justifications techniques qui fait que cela n'a pas été retenu et si non, quelles sont les raisons qui ont amené le comité à ne pas retenir ce choix ?
Rien ne t'interdit de créer un std::vector<int *>...
Ce n'est pas le sens de ma question... Ce que je veux dire c'est pourquoi faut-il un vector<auto_ptr<int*> > pour avoir un comportement satisfaisant au lieu de faire vector<int*>
Tu as une drôle de définition de « satisfaisant » : une erreur de compilation avec une bibliothèque à jour, et un comportement indéfini si jamais ça passe la comple.
-- James Kanze GABI Software mailto: Conseils en informatique orientée objet/ http://www.gabi-soft.fr Beratung in objektorientierter Datenverarbeitung 11 rue de Rambouillet, 78460 Chevreuse, France, +33 (0)1 30 23 45 16