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
*/
#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
*/
相关文章推荐
- boost::asio 使用实例
- LinuxC/C++编程基础(20) 使用boost::asio搭建服务器简单实例
- spring List,Set,Map,Properties,array的使用配置文件注入实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- Boost::Array与Std::Vector使用与性能
- php的array数组和使用实例简明教程(容易理解)
- boost::array库的使用
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- PHP SPL标准库之SplFixedArray使用实例
- LinuxC/C++编程基础(21) 使用boost::asio搭建服务器简单实例(续)
- Boost.Asio使用实例
- boost之asio实现定时器使用实例
- PHP SPL标准库之SplFixedArray使用实例
- boost::array与std::vector使用与性能
- Flex 数组array的使用实例[转帖]
- boost:exception使用实例
- (原創) 如何使用boost::array? (C/C++) (template) (boost)
- 使用XML、Array、Object对象处理xml杂谈——实例讨论
- boost之无锁队列使用实例