boost.array 使用实例
//z 2011-06-08 23:20:20@is2120.CSDN 转载请注明出处
#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
*/
@IS2120#CNBLOGS.T2169364049[T1,L65,R1,V259]:备忘
$ € ₤ ₭ ₪ ₩ ₮ ₦ ₱ ฿ ₡ ₫ ﷼ ¥ ﷼ ₫ ₡ ฿ ₱ ₦ ₮ ₩ ₪ ₭ ₤ € $