Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Struct template default_delete

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Struct template default_delete

boost::movelib::default_delete

Synopsis

// In header: <boost/move/default_delete.hpp>
template<typename T> 
struct default_delete {
  // construct/copy/destruct
  default_delete();
  default_delete(const default_delete &);
  template<typename U> default_delete(const default_delete< U > &) noexcept;
  default_delete & operator=(const default_delete &);
  template<typename U> 
    default_delete & operator=(const default_delete< U > &) noexcept;
  // public member functions
  template<typename U> void operator()(U *) const noexcept;
  void operator()(std::nullptr_t) const noexcept;
};

Description

Шаблон класса default_delete служит деструктором по умолчанию (политика разрушения) для шаблона класса unique_ptr.

Template Parameters

  1. Тип для удаления. Это может быть неполный тип

    The type to be deleted. It may be an incomplete type

    [ORIG_END] -->

default_delete public construct/copy/destruct

  1. Конструктор хранилища.

    Default constructor.

    [ORIG_END] -->
  2. Трвичный конструктор

    Trivial copy constructor

    [ORIG_END] -->
  3. Effects: Строит объект default_delete от другого объекта default_delete<U>.

    Замечания: Этот конструктор не участвует в разрешении перегрузки, если только:

    • Если T не является типом массива и U* неявно конвертируется в T*.

      Effects: Constructs a default_delete object from another default_delete<U> object.

      Remarks: This constructor shall not participate in overload resolution unless:

      • If T is not an array type and U* is implicitly convertible to T*.

        [ORIG_END] -->
      • Если T - это тип массива, а U* - более квалифицированный указатель CV для удаления_extent::type.

    • Частное назначение

      Trivial assignment

      [ORIG_END] -->
    • Effects: Строит объект default_delete от другого объекта default_delete<U>.

      Замечания: Этот конструктор не участвует в разрешении перегрузки, если только:

      • Если T не является типом массива и U* неявно конвертируется в T*.

        Effects: Constructs a default_delete object from another default_delete<U> object.

        Remarks: This constructor shall not participate in overload resolution unless:

        • If T is not an array type and U* is implicitly convertible to T*.

          [ORIG_END] -->
        • Если T - это тип массива, а U* - более квалифицированный указатель CV для удаления_extent::type.

default_delete public member functions

  1. Effects: если T не является типом массива, звонит delete на статичной_cast(ptr), иначе звонит delete[] на статичной_cast::type*>(ptr).

    Замечания: Если U является неполным типом, программа плохо сформирована. Этот оператор не участвует в разрешении перегрузки, если только:

    • T не является типом массива и U* конвертируется в T*, OR

      Effects: if T is not an array type, calls delete on static_cast<T*>(ptr), otherwise calls delete[] on static_cast<remove_extent<T>::type*>(ptr).

      Remarks: If U is an incomplete type, the program is ill-formed. This operator shall not participate in overload resolution unless:

      • T is not an array type and U* is convertible to T*, OR

        [ORIG_END] -->
      • T - это тип массива, и удалите_cv::type - тот же тип, что и удалите_cv::type>::type и U* - конвертируемый для удаления_extent::type*.

    • Effects: То же, что и (this)(static_cast<element_type>(nullptr)).

      Effects: Same as (this)(static_cast<element_type>(nullptr)).

      [ORIG_END] -->

PrevUpHomeNext

Статья Struct template default_delete раздела The Boost C++ Libraries BoostBook Documentation Subset Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 09:41:50/0.0063178539276123/0