头文件
BOOST_TYPEOF 获取目标类型。
BOOST_AUTO 按目标对象新建一个对象。内部采用了BOOST_TYPEOF。
#include#include void boost_typeof() { BOOST_TYPEOF(5) x = 10; //x为int类型,初始值为10 int n = 10; BOOST_TYPEOF(n) y = 0; //y为int类型,初始值为0 BOOST_TYPEOF(&n) p = NULL; //p为int*类型,初始值为NULL double d = 2.0; BOOST_TYPEOF(n + d) pi = 3.14; //pi为double类型,初始值为3.14 } void boost_auto() { BOOST_AUTO(x, 5); //x为int类型,初始值为5 int n = 10; BOOST_AUTO(&i, n);//加了&表示引用,所以i为int&类型,初始值为10 BOOST_AUTO(p, new char[20]); //p为char*类型 BOOST_AUTO(v, std::vector (10, 0)); //v为vector 类型,初始为包含10个值为0的元素 BOOST_AUTO(ptr, &n); //ptr为int*类型,指向n BOOST_AUTO(y, n * 5); //y为int类型,初始值为n * 5 } int main() { boost_typeof(); boost_auto(); return 0; }



