私はこの作品のようなものを作ろうとしています:
struct holder {
std::function<void()> destroyer;
template<typename T>
holder(T) = delete;
template<typename T>
holder(std::enable_if< WAS CREATED WITH new > pointer) {
destroyer = [=] { delete pointer; };
};
template<typename T>
holder(std::enable_if< WAS CREATED WITH new[] > array) {
destroyer = [=] { delete[] array; };
};
virtual ~holder() {
destroyer();
};
};
を返す関数をreturn new test;
簡単に作ることができる方法で。しかし、ポインターを返すため、配列として扱われることはないことがわかりました。return = new test[10];
holder
operator new[]
望ましい結果を達成する方法はありますか?
ありがとう!:)