Boost logo

Boost :

From: vicente.botet (vicente.botet_at_[hidden])
Date: 2008-01-28 06:36:26


> The destruction order is the correct one:
> static_var2
> static_var1
> holder
> I guess you're being misled by the definition of the initializer
> fwinit: Its presence forces holder initialization *unless* this
> initialization has already taken place, which is the case here,
> due to the previous definition of static_var1. So, your code
> is entirely equivalent to

> static flyweight<std::string> static_var1("safe_or_unsafe1");
> static flyweight<std::string> static_var2("safe_or_unsafe2");

You are right. The destruction order is correct.
I have associated the static initialization of the holder and the fwinit
and have forgotten that the static_var1 initialization forces the static
initialization of the holder.

Vicente Juan Botet Escriba

Boost list run by bdawes at, gregod at, cpdaniel at, john at