А
Size: a a a
IZ
А
A
struct DummyBaseType {
virtual ~DummyBaseType() = default;
};
struct ConcreteType final : public std::function<void(Arguments...)>, DummyBaseType {
};
std::unique_ptr<DummyBaseType> f() {
return std::make_unique<ConcreteType>();
}
NP
struct DummyBaseType {
virtual ~DummyBaseType() = default;
};
struct ConcreteType final : public std::function<void(Arguments...)>, DummyBaseType {
};
std::unique_ptr<DummyBaseType> f() {
return std::make_unique<ConcreteType>();
}
NP
АК
unique_ptr<void>
, но компилятор мне быстро объяснил, что такой тип нельзя удалить. А писать полноценную обёртку на std::function только ради того, чтобы унаследовать её от своего базового класса, не хочется.NP
АК
unique_ptr<void>
, но компилятор мне быстро объяснил, что такой тип нельзя удалить. А писать полноценную обёртку на std::function только ради того, чтобы унаследовать её от своего базового класса, не хочется.unique_ptr<void, Deleter>
проще в данном случае, имхо