Aha, zajimave ze tenhle kod zrovna bude fungovat, protoze bar->test() jen zavola funkci (ktera neni virtual!) a neodkazuje se na this (jednodusse receno), takze i kdyz ten objekt uz umrel, tak on se vubec nepouziva :-)
Musim se priznat, ze jsem musel podivat na ten assembler co g++ vygenerovalo (g++ -S --std=c+1 x.cpp), aby me docvaklo co se tam vlastne deje :-)
Udelej tu metodu "virtual" a zavolej jeste nejakou funkci mezi tim "auto bar = foo();" a "bar->test();" a uz to bude failovat jak by si ocekaval.
Podivej se jak zapnout vsechny warning flagy svemu compileru a snad by te na to taky upozorni jak g++ ...