bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse. Il
m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
une insertion efficace se fait via une recherche dichotomique : j'ai trouvé
binary_search mais celui ci ne renvoie pas d'iterateur (?). la methode
"find" quant à elle ne peut pas faire une recherche dichotomique étant donné
que le tableau n'est pas sensé être trié (??)
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse. Il
m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
une insertion efficace se fait via une recherche dichotomique : j'ai trouvé
binary_search mais celui ci ne renvoie pas d'iterateur (?). la methode
"find" quant à elle ne peut pas faire une recherche dichotomique étant donné
que le tableau n'est pas sensé être trié (??)
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse. Il
m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
une insertion efficace se fait via une recherche dichotomique : j'ai trouvé
binary_search mais celui ci ne renvoie pas d'iterateur (?). la methode
"find" quant à elle ne peut pas faire une recherche dichotomique étant donné
que le tableau n'est pas sensé être trié (??)
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse.
Il m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse.
Il m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'intérêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une implémentation
libre de cette dernière afin de comprendre ce qui se passait en coulisse.
Il m'est alors venu une série de questions que je vous soumets :
j'ai tout d'abord inspecté rapidement le modèle "vector" : corrigez moi si
je me trompe.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
il est possible de réserver à l'avance un espace pour eviter cet
inconvénient, mais la aussi cela implique d'initialiser cet espace (encore
dispendieux).
je pense alors que pour avoir des conteneurs efficaces, il est nécessaire au
moins de dériver ces conteneurs de base.
j'ai entendu dire également que cette bibliothèque était "thread-safe" or je
n'ai vu aucun code de synchronisation dans le source de la bibliothèque
récupéré (??)
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
il semble que l'ajout (push_back) d'un objet provoque une réallocation de
l'ensemble du tableau. Dispendieux au niveau temps ?
Mais la aussi je me heurte à quelques problèmes : supposons tout simplement
que je veuille créer un conteneur tableau trié d'objets (et qui le restent
lors d'ajouts).
je me suis posé également la question de création de conteneurs indirects
par ex un conteneur de pointeurs d'objets : lors de la suppression par
"erase", la suppression ne doit effacer que le pointeur et non l'objet sur
lequel il pointe, d'ou la neccessité de créer une fonction dérivée afin de
réaliser les choses correctement, n'est-ce pas ?
bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
d'un développement dont le temps de traitement est un facteur déterminant.
merci de vos éclaircissements et de me faire partager votre expérience sur
cette bibliothèque.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'inté rêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une impl émentation
libre de cette dernière afin de comprendre ce qui se passait en couliss e.
bref je me pose la question de l'utilité de cette bibliothèque dans l e cadre
d'un développement dont le temps de traitement est un facteur détermi nant.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'inté rêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une impl émentation
libre de cette dernière afin de comprendre ce qui se passait en couliss e.
bref je me pose la question de l'utilité de cette bibliothèque dans l e cadre
d'un développement dont le temps de traitement est un facteur détermi nant.
bonjour,
j'ai quelque expérience en C++ et avec les templates mais n'ai jamais
utilisé la STL et, ayant un projet en vue, je m'interresse à l'inté rêt que
peux m'apporter cette bibliothèque. J'ai donc récupéré une impl émentation
libre de cette dernière afin de comprendre ce qui se passait en couliss e.
bref je me pose la question de l'utilité de cette bibliothèque dans l e cadre
d'un développement dont le temps de traitement est un facteur détermi nant.
| bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
| d'un développement dont le temps de traitement est un facteur déterminant.
la bibliothèque standard fait partie intégrante de C++ et tu ne devrais
pas hésiter à l'apprendre et à t'en servir. Chercher à la contourner ne
sera en général que contre-productif et une perte de temps.
| bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
| d'un développement dont le temps de traitement est un facteur déterminant.
la bibliothèque standard fait partie intégrante de C++ et tu ne devrais
pas hésiter à l'apprendre et à t'en servir. Chercher à la contourner ne
sera en général que contre-productif et une perte de temps.
| bref je me pose la question de l'utilité de cette bibliothèque dans le cadre
| d'un développement dont le temps de traitement est un facteur déterminant.
la bibliothèque standard fait partie intégrante de C++ et tu ne devrais
pas hésiter à l'apprendre et à t'en servir. Chercher à la contourner ne
sera en général que contre-productif et une perte de temps.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), le
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutôt
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), le
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutôt
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), le
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutôt
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
Gabriel Dos Reis writes:
> | bref je me pose la question de l'utilité de cette bibliothèque da ns le cadre
> | d'un développement dont le temps de traitement est un facteur dét erminant.
> la bibliothèque standard fait partie intégrante de C++ et tu ne dev rais
> pas hésiter à l'apprendre et à t'en servir. Chercher à la co ntourner ne
> sera en général que contre-productif et une perte de temps.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), l e
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutô t
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
Gabriel Dos Reis <g...@cs.tamu.edu> writes:
> | bref je me pose la question de l'utilité de cette bibliothèque da ns le cadre
> | d'un développement dont le temps de traitement est un facteur dét erminant.
> la bibliothèque standard fait partie intégrante de C++ et tu ne dev rais
> pas hésiter à l'apprendre et à t'en servir. Chercher à la co ntourner ne
> sera en général que contre-productif et une perte de temps.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), l e
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutô t
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
Gabriel Dos Reis writes:
> | bref je me pose la question de l'utilité de cette bibliothèque da ns le cadre
> | d'un développement dont le temps de traitement est un facteur dét erminant.
> la bibliothèque standard fait partie intégrante de C++ et tu ne dev rais
> pas hésiter à l'apprendre et à t'en servir. Chercher à la co ntourner ne
> sera en général que contre-productif et une perte de temps.
Sans présumer de l'intérêt de la STL (j'ai mon avis là dessus), l e
fait qu'elle fasse partie intégrante de C++ ne présage rien de bon.
Les array ou les pointeurs font aussi partie intégrante de C++, et
pourtant on fait tout ce qu'on peut pour les éviter et utiliser plutô t
des classes vecteur ou smart pointer.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++, que
pour bien l'utiliser, il faut éviter d'utiliser plein d'éléments de ce
langage, ce que notent bien tous les guides de style...
Alors il n'y a pas de raison de supposer que la STL ne fasse pas
partie des choses à éviter, au moins dans certains contextes.
D'ailleurs, c'est le premier reproche que l'on peut faire à C++
D'ailleurs, c'est le premier reproche que l'on peut faire à C++
D'ailleurs, c'est le premier reproche que l'on peut faire à C++
On Tue, 09 Jun 2009 11:22:46 +0200, (Pascal J.
Bourguignon):D'ailleurs, c'est le premier reproche que l'on peut faire à C++
Non, le principal reproche qu'on peut faire à C++, comme à beaucoup de
langages, c'est de n'être pas Lisp.
On Tue, 09 Jun 2009 11:22:46 +0200, pjb@informatimago.com (Pascal J.
Bourguignon):
D'ailleurs, c'est le premier reproche que l'on peut faire à C++
Non, le principal reproche qu'on peut faire à C++, comme à beaucoup de
langages, c'est de n'être pas Lisp.
On Tue, 09 Jun 2009 11:22:46 +0200, (Pascal J.
Bourguignon):D'ailleurs, c'est le premier reproche que l'on peut faire à C++
Non, le principal reproche qu'on peut faire à C++, comme à beaucoup de
langages, c'est de n'être pas Lisp.