boost中自动确定数据类型(BOOST_TYPEOF和BOOST_AUTO)的使用

本文介绍了Boost库中的两个工具,BOOST_TYPEOF和BOOST_AUTO,用于自动确定和声明变量的数据类型。通过示例,详细阐述了如何在C++代码中使用这两个工具,以提升代码的简洁性和可读性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<boost/typeof/typeof.hpp>
#include<vector>
#include<iostream>
#include BOOST_TYPEOF_INCREMENT_REGISTRATION_GROUP() //为了注册新的数据类型
using namespace std;
namespace ex{   //定义新的数据类型
struct demo_class
{
	int a,b;
};
BOOST_TYPEOF_REGISTER_TYPE(ex::demo_class) //向typeof库注册类
}
vector<string> func()
{
  vector<string> v(10,"气死你气死你");//返回vector<string>的函数
  return v;
}

int main()
{
	BOOST_TYPEOF(2.0*3) x=2.0*3;//推导类型位double,并将结果赋值给x
	cout<<x<<endl;
	BOOST_AUTO(y,2+3);//推导类型为int,并将结果赋值给y
	cout<<y<<endl;

	BOOST_AUTO(a,new double[20]);//推导a的类型为double *a,并使a指向分配的内存空间首地址
	a[1]=20.0;
	cout<<sizeof(a)<<endl;//空间大小为20
	cout<<a[1]<<endl;
	BOOST_AUTO(p,make_pair(1,"string"));//推导p的类型为pair,并将(1,“string”)赋值给p
	cout<<p.second<<endl;//输出string
	BOOST_AUTO(v,func());//推导v的类型为vector<string>,并将数据完整赋值给v
	v.push_back("just for test");
	vector
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值