template <typename T> void allocator<T>::deallocate(pointer ptr, size_type n){ if(ptr == nullptr) return ; ::operator delete(ptr); } 在这段代码中ptr是指向连续n个元素内存空间首个元素的指针吗?那么delete(ptr)是只释放了单个元素所在的内存空间还是会全部释放掉,如果只释放单个元素会不会出现内存泄漏问题?