Знатокам потрохов STL (желательно, в разных реализациях)
Насколько безопасно использовать (2) вместо (1)? Как мне кажется полностью безопасно.
char* api_malloc(size_t Size)
{
//dummy, external API
return reinterpret_cast<char*>(malloc(Size));
}
int main()
{
//1
auto pArray = std::unique_ptr<char[], decltype(&free)>{ api_malloc(20), &free };
//2
auto pScalar = std::unique_ptr<char, decltype(&free)>{ api_malloc(20), &free };
return 0;
}