int mainint argc char argv using boost lexicalcast
Пример Следующий пример преобразует аргументы командной строки в последовательность чисел: ➲ ➲ int main(int argc, char * argv[ ]) { using boost: : lexical_cast; using boost: : bad_lexical_cast; ➲ std: : vector<short> args; ➲ ➲ ➲ ➲ ➲ while(*++argv) { try { args. push_back(lexical_cast<short>(*argv)); } catch(bad_lexical_cast &) { args. push_back(0); } ➲ ➲ ➲ }. . . }
Библиотека BOOST Static assertions
Пример ➲ Предположим, что у нас есть шаблонный класс, для которого необходим беззнаковый целый тип с по крайней мере 16 битам в качестве параметра шаблона. Мы можем проверять такое условие таким, к примеру, образом: ➲ ➲ ##include <climits> #include <boost/static_assert. hpp> ➲ ➲ ➲ template <class Unsigned. Int> class myclass { private: BOOST_STATIC_ASSERT(sizeof(Unsigned. Int) * CHAR_BIT >= 16); BOOST_STATIC_ASSERT(std: : numeric_limits<Unsigned. Int>: : is_specialized && std: : numeric_limits<Unsigned. Int>: : is_integer && !std: : numeric_limits<Unsigned. Int>: : is_signed); public: /* details here */ };
- Slides: 8