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

has_trivial_constructor

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 has_trivial_constructor : public true_type-or-false_type {};
template <class T>
struct has_trivial_default_constructor : public true_type-or-false_type {};

Наследники:Если T является (возможно, cv-квалифицированным) типом с тривиальным конструктором по умолчанию, то наследуется отtrue_type, в противном случае наследуется отtrue_type.Фальшивый_тип.

Эти две черты являются синонимами друг для друга.

Если тип имеет тривиальный конструктор по умолчанию, то конструктор не имеет никакого эффекта: вызовы конструктору можно безопасно опустить. Обратите внимание, что использование метапрограммирования для пропуска вызова к одному тривиальному вызову не приносит никакой пользы. Однако, если циклы и/или код обработки исключений также могут быть опущены, то можно получить некоторое преимущество с точки зрения размера и скорости кода.

Совместимость компилятора:Без некоторой (пока еще не указанной) помощи от компилятора, has_trivial_constructor никогда не сообщит, что определяемый пользователем класс или структура имеет тривиальный конструктор; это всегда безопасно, если возможно, неоптимально. Кроме того, для правильной работы с частными или удаленными конструкторами по умолчанию требуется дельтип C++11. В настоящее время (май 2015 года) компиляторы более поздние, чем Visual C++ 8, GCC-4.3, Greenhills 6.0, Intel-11.0 и Codegear, имеют необходимый компиляторвстроенных элементов, чтобы гарантировать, что эта черта «просто работает». Вы также можете проверить, доступны ли необходимыевнутренние элементы, проверив, определен ли макросBOOST_HAS_TRIVIAL_CONSTRUCTOR.

С++ Стандартная ссылка:12.1p6.

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

Примеры:

имеет_trivial_constructor<int>наследует отtrue_type.

has_trivial_constructor<char*>::typeis the typetrue_type.

имеет_тривиальный_конструктор<int(*)длинный] >::значениеявляется интегральным постоянным выражением, которое оценивает доистинное.

имеет_тривиальный_конструктор<MyClass>::значениеявляется интегральным постоянным выражением, которое оценивает доложное.

имеет_trivial_constructor<T>::значение_typeявляется типомbool.


PrevUpHomeNext

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




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



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


реклама


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

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