#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
*/
标签:PrintInt,end,实例,int,ar,array,boost,size
From: https://blog.51cto.com/u_16156420/6449080