您的位置:首页 > 其它

boost.array 使用实例

2011-06-08 23:26 162 查看
//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

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: