struct hoge { fuga *pointer_; };
で
hoge *p = new hoge();
p->pointer_ = new fuga();
delete p;
とやったときに、自動で(見えないところで)
delete (p->pointer_);
も実行されるかってことだよね?

されません。

最近shared_ptrにべったりで、deleteなんて見てないや…。