After asking C++ Error linking in consumer file caused by static data field, I tried two different declarations for an instance of StateConservator:
StateConservator cs(*pContainer, pDoc->GetConfiguration());
and
StateConservator(*pContainer, pDoc->GetConfiguration());
The first did what I want, it only passes on the destructor only after the end of the scope. The second passes on the destructor in the own line of the declaration itself.
Is the compiler behaving correctly? If it is the correct behavior what is the way to declare an anonymous variable in that line?