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

is_convertible

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 From, class To>
struct is_convertible : public true_type-or-false_type {};

Наследники:Если мнимое значение типа<From>конвертируется в тип<To>, то наследуется отtrue_type, в противном случае наследуется отfalse_type.

Тип не должен быть неполным типом.

Тип Он не должен быть неполным или функциональным.

Никакие типы не считаются конвертируемыми в типы массивов или типы абстрактного класса.

Этот шаблон не может определить, является ли преобразующий конструктор<public>или нет: если тип<To>имеет<private>преобразующий конструктор из типа<From>, то инстанцирование<is_convertible<From,To>>приведет к ошибке компилятора. По этой причине<is_convertible>не может использоваться для определения того, имеет ли тип<public>копи-конструктор или нет.

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

struct A {};
struct B : A {};
struct C : A {};
struct D : B, C {};
// This produces a compiler error, the conversion is ambiguous:
bool const y = boost::is_convertible<D*,A*>::value;

C++ Стандартная ссылка:4 и 8.5.

Совместимость компиляторов:Все текущие компиляторы поддерживаются этой чертой.

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

Примеры:

<is_convertible<int,double>>наследуется от<true_type>.

<is_convertible<constint,double>::type>является типом<true_type>.

<is_convertible<int*const,int*>::value>является интегральным постоянным выражением, которое оцениваетистинно.

<is_convertible<intconst*,int*>::value>является интегральным постоянным выражением, которое оценивает доложным: преобразование потребовало бы<const_cast>.

<is_convertible<intconst&,long>::value>является интегральным постоянным выражением, которое оцениваетистинно.

<is_convertible<int,int>::value>является интегральным постоянным выражением, которое оцениваетистинно.

<is_convertible<T,T>::value_type>является типом<bool>.


PrevUpHomeNext

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




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



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


реклама


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

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