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

How it works

Boost , The Boost C++ Libraries BoostBook Documentation Subset , Chapter 34. Boost.StaticAssert

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

How it works

<BOOST_STATIC_ASSERT>работает следующим образом. Существует класс<STATIC_ASSERTION_FAILURE>, который определяется как:

namespace boost{
template <bool> struct STATIC_ASSERTION_FAILURE;
template <> struct STATIC_ASSERTION_FAILURE<true>{};
}

Ключевой особенностью является то, что сообщение об ошибке, вызванное неопределенным выражением<sizeof(STATIC_ASSERTION_FAILURE<0>)>, имеет тенденцию быть последовательным в широком спектре компиляторов. Остальная часть механизма<BOOST_STATIC_ASSERT>является просто способом подачи выражения<sizeof>в<typedef>. Использование макроса здесь несколько уродливо; однако участники стимулятора потратили значительные усилия, пытаясь изобрести статическое утверждение, которое избегало макросов, и все безрезультатно. Общий вывод заключался в том, что благо статического утверждения, работающего в пространстве имен, функций и классов, перевешивало уродство макроса.


PrevUpHomeNext

Статья How it works раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 34. Boost.StaticAssert может быть полезна для разработчиков на c++ и boost.




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



:: Главная :: Chapter 34. Boost.StaticAssert ::


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 17:51:57/0.007810115814209/1