您当前的位置: 首页 > 

插件开发

暂无认证

  • 1浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Boost库-功能介绍-BOOST_AUTO和BOOST_TYPEOF宏

插件开发 发布时间:2022-05-19 08:45:19 ,浏览量:1

  头文件里定义了两个宏:BOOST_TYPEOF和BOOST_AUTO,可以在编译期自动推导表达式的类型。不仅能够推导C++语言内建的int、double、数组、函数指针等等类型,也支持标准库中的容器类型。 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;
}
关注
打赏
1665481431
查看更多评论
立即登录/注册

微信扫码登录

0.0374s