I am using g++ 4.3.0 to compile this example :
#include int main() { std::vector< int > a; int b; }
If I compile
a is actually used after it is declared as its destructor gets called at the end of its scope.