Juste une demande de confirmation :
- Apr=E8s essai, il semblerait que vector< list<bidule> > m'envoie
rapidement dans les choux. Aussi me demandes-je si les vecteurs peuvent
etre "param=E9t=E9s" avec des types de taille variable ?!
- qu'en est- il de list< list<bidule> > ?
Juste une demande de confirmation : - Après essai, il semblerait que vector< list<bidule> > m'envoie rapidement dans les choux.
C'est à dire ?
Aussi me demandes-je si les vecteurs peuvent etre "paramétés" avec des types de taille variable ?!
Attention, std::list<type> n'est pas vraiment "de taille variable" (si on prend comme définition de taille "sizeof(type)"). C'est la quantité de données que l'on peut mettre dedans qui peut être variable (mais les données sont a priori au bout d'un pointeur).
-- Matthieu
"meow" <ben@agat.net> writes:
Bonjour,
Juste une demande de confirmation :
- Après essai, il semblerait que vector< list<bidule> > m'envoie
rapidement dans les choux.
C'est à dire ?
Aussi me demandes-je si les vecteurs peuvent etre "paramétés" avec
des types de taille variable ?!
Attention, std::list<type> n'est pas vraiment "de taille variable" (si
on prend comme définition de taille "sizeof(type)"). C'est la quantité
de données que l'on peut mettre dedans qui peut être variable (mais
les données sont a priori au bout d'un pointeur).
Juste une demande de confirmation : - Après essai, il semblerait que vector< list<bidule> > m'envoie rapidement dans les choux.
C'est à dire ?
Aussi me demandes-je si les vecteurs peuvent etre "paramétés" avec des types de taille variable ?!
Attention, std::list<type> n'est pas vraiment "de taille variable" (si on prend comme définition de taille "sizeof(type)"). C'est la quantité de données que l'on peut mettre dedans qui peut être variable (mais les données sont a priori au bout d'un pointeur).
-- Matthieu
meow
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
Attention, std::list<type> n'est pas vraiment "de taille variable"
Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs.
N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de
taille variable dans un vector ? dans un list ?
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
Marc Boyer
Le 25-11-2005, meow a écrit :
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela, et comment manipules-tu cela ?
Marc Boyer -- Dans "Les misérables", Victor Hugo opposait émeute et insurrection. L'émeute est le moment chaotique de destruction. L'insurrection, au contraire, est le moment qui projette politiquement dans l'avenir un groupe qui a conscience de lui-même et qui veut construire quelque chose. (Pierre Rosanvallon, Libération 21/11/05)
Le 25-11-2005, meow <ben@agat.net> a écrit :
Attention, std::list<type> n'est pas vraiment "de taille variable"
Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs.
N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de
taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela,
et comment manipules-tu cela ?
Marc Boyer
--
Dans "Les misérables", Victor Hugo opposait émeute et insurrection.
L'émeute est le moment chaotique de destruction. L'insurrection,
au contraire, est le moment qui projette politiquement dans l'avenir
un groupe qui a conscience de lui-même et qui veut construire
quelque chose. (Pierre Rosanvallon, Libération 21/11/05)
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela, et comment manipules-tu cela ?
Marc Boyer -- Dans "Les misérables", Victor Hugo opposait émeute et insurrection. L'émeute est le moment chaotique de destruction. L'insurrection, au contraire, est le moment qui projette politiquement dans l'avenir un groupe qui a conscience de lui-même et qui veut construire quelque chose. (Pierre Rosanvallon, Libération 21/11/05)
Stan
"Marc Boyer" a écrit dans le message de news:
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela, et comment manipules-tu cela ?
Ex : class Elastique {/* */ }; Elastique x; // objet de taille variable
A manipuler avec précaution, risque de rupture ;-)
-- -Stan
"Marc Boyer" <Marc.Boyer@enseeiht.yahoo.fr.invalid> a écrit dans le message
de news: slrndoe6q8.oc5.Marc.Boyer@localhost.localdomain...
Attention, std::list<type> n'est pas vraiment "de taille variable"
Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs.
N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de
taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela,
et comment manipules-tu cela ?
Ex :
class Elastique {/* */ };
Elastique x; // objet de taille variable
A manipuler avec précaution, risque de rupture ;-)
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
C'est quoi un object de taille variable ? Comment fais-tu cela, et comment manipules-tu cela ?
Ex : class Elastique {/* */ }; Elastique x; // objet de taille variable
A manipuler avec précaution, risque de rupture ;-)
-- -Stan
Arnaud Debaene
meow wrote:
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Arnaud
meow wrote:
Attention, std::list<type> n'est pas vraiment "de taille variable"
Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs.
N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de
taille variable dans un vector ? dans un list ?
On, peut stocker aussi bien dans un vector que dans une list un nombre
variable d'éléments, si c'est là ta question. Encore faut-il manipuler
correctement ces containers. La manière généralement recommandée pour
ajouter des éléments à ces containers est par la méthode push_back.
Attention, std::list<type> n'est pas vraiment "de taille variable" Certes... ça tient pas la route... J'ai donc du glisser une banane
ailleurs. N'empeche ? Dans l'absolu, est-ce qu'on peut stocker des objets de taille variable dans un vector ? dans un list ?
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Arnaud
Matthieu Moy
"Arnaud Debaene" writes:
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le conteneur en général (pour le vecteur, si il n'y a pas la place de mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
On, peut stocker aussi bien dans un vector que dans une list un nombre
variable d'éléments, si c'est là ta question. Encore faut-il manipuler
correctement ces containers. La manière généralement recommandée pour
ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le
conteneur en général (pour le vecteur, si il n'y a pas la place de
mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le conteneur en général (pour le vecteur, si il n'y a pas la place de mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
-- Matthieu
Cyrille
"Arnaud Debaene" writes:
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le conteneur en général (pour le vecteur, si il n'y a pas la place de mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
Un push_back invalide aussi les itérateurs d'une list? Je croyais que seuls les opérations erase/remove/remove_if/clear pouvaient rendre invalides des itérateurs de list, en l'occurence ceux qui pointent vers les portions effacées. (j'ai peut-être mal compris ce que tu dis)
On, peut stocker aussi bien dans un vector que dans une list un nombre
variable d'éléments, si c'est là ta question. Encore faut-il manipuler
correctement ces containers. La manière généralement recommandée pour
ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le
conteneur en général (pour le vecteur, si il n'y a pas la place de
mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
Un push_back invalide aussi les itérateurs d'une list? Je croyais que
seuls les opérations erase/remove/remove_if/clear pouvaient rendre
invalides des itérateurs de list, en l'occurence ceux qui pointent vers
les portions effacées.
(j'ai peut-être mal compris ce que tu dis)
On, peut stocker aussi bien dans un vector que dans une list un nombre variable d'éléments, si c'est là ta question. Encore faut-il manipuler correctement ces containers. La manière généralement recommandée pour ajouter des éléments à ces containers est par la méthode push_back.
Par contre, attention, un push_back invalide les iterateurs sur le conteneur en général (pour le vecteur, si il n'y a pas la place de mettre l'élément là ou il est, il faut recopier le tableau ailleurs).
Un push_back invalide aussi les itérateurs d'une list? Je croyais que seuls les opérations erase/remove/remove_if/clear pouvaient rendre invalides des itérateurs de list, en l'occurence ceux qui pointent vers les portions effacées. (j'ai peut-être mal compris ce que tu dis)
Jean-Marc Bourguet
Cyrille writes:
Un push_back invalide aussi les itérateurs d'une list?
Non.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
Cyrille <cyrille@frsf.invalid> writes:
Un push_back invalide aussi les itérateurs d'une list?
Non.
A+
--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Un push_back invalide aussi les itérateurs d'une list?
Non.
A+
-- Jean-Marc FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html Site de usenet-fr: http://www.usenet-fr.news.eu.org
meow
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ? Je supposes que j'ai encore un peu de mal avec certaines notions de base... Tant mieux, il y a des gens ici pour me sortir de l'ornière.
Qu'en est t'il d'un objet de type std::vector< int > ? Un petit exemple jouet m'indique que sur mon systeme, quel que soit le .reserve() que je fais dessus, la taille de mon tableau reste 12...
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas comment on pourrait gérer des objets de taille variable !? Pourtant j'ai pas fumé, je le jure !
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ?
Je supposes que j'ai encore un peu de mal avec certaines notions de
base... Tant mieux, il y a des gens ici pour me sortir de l'ornière.
Qu'en est t'il d'un objet de type std::vector< int > ?
Un petit exemple jouet m'indique que sur mon systeme, quel que soit le
.reserve() que je fais dessus, la taille de mon tableau reste 12...
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas
comment on pourrait gérer des objets de taille variable !? Pourtant
j'ai pas fumé, je le jure !
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ? Je supposes que j'ai encore un peu de mal avec certaines notions de base... Tant mieux, il y a des gens ici pour me sortir de l'ornière.
Qu'en est t'il d'un objet de type std::vector< int > ? Un petit exemple jouet m'indique que sur mon systeme, quel que soit le .reserve() que je fais dessus, la taille de mon tableau reste 12...
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas comment on pourrait gérer des objets de taille variable !? Pourtant j'ai pas fumé, je le jure !
Fabien LE LEZ
On 28 Nov 2005 06:56:15 -0800, "meow" :
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ?
Ça n'existe pas.
Qu'en est t'il d'un objet de type std::vector< int > ?
En gros, l'objet vector<int> contient un pointeur vers une zone de données. On peut changer de zone (pour en prendre une plus grande) au fur et à mesure des besoins. Un sizeof() ne donne que la taille du pointeur et des quelques petits trucs qui vont avec, soit 12 sur ton système. Si la zone pointée est différente, la valeur du pointeur varie, mais la taille du pointeur reste égale à sizeof(void*).
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas comment on pourrait gérer des objets de taille variable !?
Moi non plus.
On 28 Nov 2005 06:56:15 -0800, "meow" <ben@agat.net>:
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ?
Ça n'existe pas.
Qu'en est t'il d'un objet de type std::vector< int > ?
En gros, l'objet vector<int> contient un pointeur vers une zone de
données. On peut changer de zone (pour en prendre une plus grande) au
fur et à mesure des besoins.
Un sizeof() ne donne que la taille du pointeur et des quelques petits
trucs qui vont avec, soit 12 sur ton système. Si la zone pointée est
différente, la valeur du pointeur varie, mais la taille du pointeur
reste égale à sizeof(void*).
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas
comment on pourrait gérer des objets de taille variable !?
Oui, tiens, c'est vrai, c'est quoi ça un objet de taille variable ?
Ça n'existe pas.
Qu'en est t'il d'un objet de type std::vector< int > ?
En gros, l'objet vector<int> contient un pointeur vers une zone de données. On peut changer de zone (pour en prendre une plus grande) au fur et à mesure des besoins. Un sizeof() ne donne que la taille du pointeur et des quelques petits trucs qui vont avec, soit 12 sur ton système. Si la zone pointée est différente, la valeur du pointeur varie, mais la taille du pointeur reste égale à sizeof(void*).
Oui, en fait, à bien y réfléchir, en fait je ne vois vraiment pas comment on pourrait gérer des objets de taille variable !?