boost.array 使用实例

本文详细介绍了C++中使用boost::array进行模板元编程的方法,包括如何定义并操作数组,实现自动化的数组填充和访问功能。

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

//z 2011-06-08 23:20:20@is2120.优快云 转载请注明出处
#include <iostream>
//z 包含 array 相关头文件。
#include <boost/array.hpp>

using namespace std;
using namespace boost;

//z 仿函数,输出array各元素。
class PrintInt
{
private :
int sum;
int cnt;
public :
PrintInt(int val):sum(val),cnt(0 ){}
void operator ()(int val)
{
cout << val <<" /t " ;
++cnt;
if (cnt == sum)
{
cout << endl << endl;
}
}
};

int main()
{
//z 第一个template表示类型,第二个表示数目
array<int ,6 > ar;
for_each(ar.begin(),ar.end(),PrintInt(ar.size()));
ar[0 ]=1 ;
//z 对最后一个元素赋值
ar.back()=10 ;
for_each(ar.begin(),ar.end(),PrintInt(ar.size()));
//z fill,用777填充所有元素。
ar.assign(777 );
for_each(ar.begin(),ar.end(),PrintInt(ar.size()));
int * p = ar.c_array();
*(p+5 ) =253 ;
cout << ar[5 ] << endl;

ar.at(1 )=666 ;
sort(ar.begin(),ar.end());
for_each(ar.begin(),ar.end(),PrintInt(ar.size()));

return 0 ;
}
/* output:
1310592 4206490 4219304 4219312 4219308 0

1 4206490 4219304 4219312 4219308 10

777 777 777 777 777 777

253
253 666 777 777 777 777
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值