catch_builtin.cpp
来自「Boost provides free peer-reviewed portab」· C++ 代码 · 共 52 行
CPP
52 行
# /* Copyright (C) 2002# * Housemarque Oy# * http://www.housemarque.com# *# * Distributed under the Boost Software License, Version 1.0. (See# * accompanying file LICENSE_1_0.txt or copy at# * http://www.boost.org/LICENSE_1_0.txt)# */## /* Revised by Paul Mensonides (2002) */## /* See http://www.boost.org for most recent version. */## /* This example demonstrates the usage of lists and BOOST_PP_LIST_FOR_EACH(). */## include <iostream># include <typeinfo>## include <boost/preprocessor/list/for_each.hpp># include <boost/preprocessor/tuple/to_list.hpp>## /* List of built-in types. (Strictly speaking wchar_t should be on the list.) */## define BUILTIN_TYPES \ BOOST_PP_TUPLE_TO_LIST( \ 13, \ ( \ bool, \ char, signed char, unsigned char, \ unsigned short, short, \ int, unsigned, \ long, unsigned long, \ float, \ double, long double \ ) \ ) \ /**/## define CATCH(R, _, T) \ catch (T t) { \ std::cerr << "Caught an " << typeid(t).name() << " = " << t; \ } \ /**/int main() { try { throw 10; } BOOST_PP_LIST_FOR_EACH(CATCH, _, BUILTIN_TYPES) return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?