OVH Cloud OVH Cloud

Vecteur statique

3 réponses
Avatar
Etienne Rousee
Bonjour,

Pourquoi ne pourrait on pas mettre un vecteur statique
(autre qu'un vecteur de pointeurs) dans une classe ?

Etienne

3 réponses

Avatar
Fabien LE LEZ
On Wed, 21 Jan 2004 23:04:51 +0100, "Etienne Rousee"
wrote:

Pourquoi ne pourrait on pas mettre un vecteur statique
(autre qu'un vecteur de pointeurs) dans une classe ?


A priori, pas de problème :

class Machin
{
static std::vector<int> mon_vecteur_statique;
};

Attention cependant, comme pour toute variable statique, à l'ordre
d'initialisation et de suppression. Mais bon, c'est pas du tout
spécifique à une variable de type std::vector<>.

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2

Avatar
kanze
Fabien LE LEZ wrote in message
news:...
On Wed, 21 Jan 2004 23:04:51 +0100, "Etienne Rousee"
wrote:

Pourquoi ne pourrait on pas mettre un vecteur statique (autre qu'un
vecteur de pointeurs) dans une classe ?


A priori, pas de problème :

class Machin
{
static std::vector<int> mon_vecteur_statique;
};

Attention cependant, comme pour toute variable statique, à l'ordre
d'initialisation et de suppression. Mais bon, c'est pas du tout
spécifique à une variable de type std::vector<>.


Pas pour « toute variable statique ». Si tu as quelque chose comme :

static int monVecteurStatique[ 100 ] = { ... } ;

et les initialisateurs sont tous des expressions constantes,
l'initialisation est statique. C-à-d qu'elle précède toute
initialisation dynamique, et l'ordre de l'initialisation n'est pas un
problème.

--
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


Avatar
Fabien LE LEZ
On 22 Jan 2004 02:05:40 -0800, wrote:

Attention cependant, comme pour toute variable statique, à l'ordre
d'initialisation et de suppression. Mais bon, c'est pas du tout
spécifique à une variable de type std::vector<>.


Pas pour « toute variable statique ».


Si. Même dans le cas que tu décris, où il y a une règle précise, il
faut faire attention à l'ordre, en se rappelant cette règle.

-- Fabien, qui n'aime pas être contredit ;-)

--
;-)

http://www.gotw.ca/gotw/063.htm
http://www.gotw.ca/gotw/067.htm#2