---
name: "std::default_delete"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::default_delete/3cxx"
---

# std::default\_delete(3cxx)

## NAME

std::default\_delete\< \_Tp \>

## SYNOPSIS

`#include <memory>`

### Public Member Functions

constexpr **default\_delete** () noexcept=**default**\
 Default constructor.  template\<**typename** \_Up , **typename**  = \_Require\<is\_convertible\<\_Up\*, \_Tp\*\>\>\> constexpr **default\_delete** (const **default\_delete**\< \_Up \> &) noexcept\
 Converting constructor.  constexpr **void** **operator()** (\_Tp \***\_\_ptr**) const\
 Calls `delete __ptr`

## Detailed Description

### template\<typename \_Tp\>

struct std::default\_delete\< \_Tp \>"Primary template of default\_delete, used by unique\_ptr for single objects

**Since**

C++11

## Constructor & Destructor Documentation

### template\<typename \_Tp \> constexpr std::default\_delete\< \_Tp \>::default\_delete ()` [constexpr]`, ` [default]`, ` [noexcept]`

Default constructor.

### template\<typename \_Tp \> template\<typename \_Up , typename = \_Require\<is\_convertible\<\_Up\*, \_Tp\*\>\>\> constexpr std::default\_delete\< \_Tp \>::default\_delete (const default\_delete\< \_Up \> &)` [inline]`, ` [constexpr]`, ` [noexcept]`

Converting constructor. Allows conversion from a deleter for objects of another type, `_Up`, only if `_Up*` is convertible to `_Tp*`.

## Member Function Documentation

### template\<typename \_Tp \> constexpr void std::default\_delete\< \_Tp \>::operator() (\_Tp \* \_\_ptr) const` [inline]`, ` [constexpr]`

Calls `delete __ptr`

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
