Quick Q: Why does shared_ptr of void work? -- StackOverflow

Quick A: When it comes to destruction, only your deleter knows for sure... but he's captured at construction time, so all starts well and stays well.

Why do std::shared_ptr<void> work

I found some code using std::shared_ptr to perform arbitrary cleanup at shutdown. At first I thought this code could not possibly work, but then I tried the following:

[edited]

int main() {
  vector<shared_ptr<void>> v;
  {
    v.push_back( shared_ptr<test>( new test() ) );
  }
} // [[ how can this destroy type-safely? ]]

Add a Comment

Comments are closed.

Comments (0)

There are currently no comments on this entry.