Ағылшын тілінде оқу

Бөлісу құралы:


Класс is_copy_constructible

Проверяет, есть ли у типа конструктор копии.

Синтаксис

C++
template <class Ty>
struct is_copy_constructible;

Параметры

Ty
Запрашиваемый тип.

Замечания

Экземпляр предиката типа имеет значение true, если тип Ty — это класс, имеющий конструктор копирования, в противном случае он содержит значение false.

Пример

C++
#include <type_traits>
#include <iostream>

struct Copyable
{
    int val;
};

struct NotCopyable
{
   NotCopyable(const NotCopyable&) = delete;
   int val;

};

int main()
{
    std::cout << "is_copy_constructible<Copyable> == " << std::boolalpha
        << std::is_copy_constructible<Copyable>::value << std::endl;
    std::cout << "is_copy_constructible<NotCopyable> == " << std::boolalpha
        << std::is_copy_constructible<NotCopyable>::value << std::endl;

    return (0);
}
Output
is_copy_constructible<Copyable> == true
is_copy_constructible<NotCopyable > == false

Требования

Заголовок:<type_traits>

Пространство имен: std

См. также

<type_traits>