As much as I like your trick with delegated constructors on slide #20 I would like to point out that it fixes only one of two problems with the code on slide #17. Unfortunately neither you nor any one else mentioned about the other problem during the talk. The class is copyable which can easily lead to double delete. Delegating constructors will not fix that however unique_ptrs (from slide #19) will. It is yet another reason to use them as first resort solution.