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

is_copy_constructible

Boost , Chapter 1. Boost.TypeTraits , Alphabetical 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
template <class T>
struct is_copy_constructible : public true_type-or-false_type {};

Наследники:Если<T>является (возможно, cv-квалифицированным) типом с конструктором копий, то наследуется отtrue_type, в противном случае наследуется отfalse_type. Тип<T>должен быть полным.

Иными словами, наследуется отtrue_typeтолько в том случае, если копировщик<T>не отмечен<=delete>,<T>не происходит от<boost::noncopyable>и не отмечен<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>.

Совместимость компиляторов:Эта черта требует полной поддержки функций C++11<decltype>и SFINAE-экспрессии.

Если ваш компилятор не поддерживает удаленные функции C++11<=delete>или не поддерживает SFINAE для удаленных конструкторов, то выведите свои классы из<boost::noncopyable>или пометьте их<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>, чтобы показать, что класс не копируем.

Эта черта не заботится о модификаторах доступа, поэтому, если вы видите такие ошибки:

'T::T(const T&)' is private
boost/type_traits/is_copy_constructible.hpp:68:5: error: within this context

Затем вы пытаетесь назвать этот макрос для структуры с частным конструктором:

struct T {
    // ...
private:
    T(const T &);
    // ...
};

Чтобы исправить это, вы должны изменить свою структуру, явно пометив ее как некопируемую (<=delete>,<boost::noncopyable>или<BOOST_MOVABLE_BUT_NOT_COPYABLE(T)>) или явноспециализированную черту.

Заголовок:<#include <boost/type_traits/is_copy_constructible.hpp>>или<#include<boost/type_traits.hpp>>


PrevUpHomeNext

Статья is_copy_constructible раздела Chapter 1. Boost.TypeTraits Alphabetical Reference может быть полезна для разработчиков на c++ и boost.




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 07:30:42/0.0077159404754639/1