参考文献: https://blog.csdn.net/liushengxi_root/article/details/80672901 #include <iostream> #include <string> using namespace std; class Delete { public: template <typename T> void operator()(T *p) const { delete p; } }; template <typename T, typename D = D...