Actually you should use std::unique_ptr these days