cplusplus.com非常糟糕......在这里查看cppreference.com的描述
此函数尝试通常通过调用std :: get_temporary_buffer来分配与要排序的序列大小相等的临时缓冲区.如果分配失败,则选择效率较低的算法.
template< class T >
std::pair< T*, std::ptrdiff_t > get_temporary_buffer( std::ptrdiff_t count )
Run Code Online (Sandbox Code Playgroud)
因此,虽然从技术上来说它将在std命名空间中专门为您自己的类专门化它,但您可能不会为生产代码执行此操作,并且在实践中它极可能可靠地工作并且会让您拦截内存请求并返回失败.
namespace std
{
template <>
std::pair<My_Class*, std::ptrdiff_t>
get_temporary_buffer(std::ptrdiff_t)
{ return {0, 0}; }
}
Run Code Online (Sandbox Code Playgroud)