---
name: "std::default_delete"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/std::default_delete"
---

# std::default\_delete(3)

## 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\> std::default\_delete\< \_Tp \>::default\_delete () \[constexpr\], \[default\], \[noexcept\]

Default constructor.

Referenced by **default\_delete()**.

### template\<typename \_Tp\> template\<typename \_Up, typename = \_Require\<is\_convertible\<\_Up\*, \_Tp\*\>\>\> 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\*.

References **default\_delete()**.

## Member Function Documentation

### template\<typename \_Tp\> 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.
