1.Boost之array



1.Boost:array,头文件内容

2.boost:array使用案例

#include<boost/array.hpp>
//boost所属的头文件

#include
<iostream>

#include
<string>

 

using
namespace
std;

 

//表示使用boost库,当不加此句时,调用的时候要加上boost前缀

using
namespace
boost;

 

void
main()

{

   
array <int,
5> barray = { 1, 2, 3, 4, 5 };

   
barray[0] = 10;

   
barray.at(4)
= 20;

   
int *p
= barray.data();//存储数组的指针

   
cout <<
"-----循环输出结果---------"
<< endl;

   
for (int
i = 0;
i <
barray.size();i++)

   
{

       
cout <<
barray[i]
<< " " <<
p[i]
<< endl;

   
}

   
array<string,
3> cmd = {
"calc",
"notepad",
"tasklist" };

 

   
cout <<
"-------size()--------" <<
endl;

   
cout <<
"size = " <<
barray.size()
<< " max_size ="<<
barray.max_size()
<< endl;

   
cout <<
"-------iterator------" <<
endl;

   
array<int,
5>::iterator
ibegin =
barray.begin();

   
array<int,
5>::iterator
iend =
barray.end();

   
for (;ibegin
!= iend;
ibegin++)

   
{

       
cout << *ibegin
<< endl;

   
}

   
cout <<
"-------==操作--------"
<< endl;

   
array <int,
5> barray2 = { 1, 2, 3, 4, 8 };

   
array <int,
5> barray3 = { 1, 2, 3, 4, 8 };

   
array <int,
5> barray4 = { 11, 12, 13, 14, 18 };

   
//结果是1,表示两者内容相等

   
cout << (barray2
== barray3) <<
endl;

   
cout << (barray3
== barray4) <<
endl;

   
cout <<
"-------at()操作--------"
<< endl;

   
cout <<
barray2.at(1)
<< endl;

   
cout <<
"-------[]操作--------"
<< endl;

   
cout <<
barray2[1] <<
endl;

   
cout <<
"-------front()操作--------"
<< endl;

   
cout <<
barray2.front()
<< endl;

   
cout <<
"-------back()操作--------"
<< endl;

   
cout <<
barray2.back()
<< endl;

   
cout <<
"-------swap()操作--------"
<< endl;

   

 

   
cin.get();

}

 

时间: 2024-09-19 23:58:42

1.Boost之array的相关文章

boost之array,效率与优雅之正交点

    如果你是STL的惯用者,且对效率持有莫大的兴趣,你可能会对原生数组而不能优雅的与 STL 算法结合而感到不满和懊恼,你充其量可以这样使用: int nArray[4] = {1,2,3,4};const int Len = sizeof( nArray ) / sizeof( int );int nCount = std::count( nArray, nArray + Len, 3 );      然而你不肯运用其他如 swap 等算法,数组是一个小型集合, 不能直接赋值.可能在模板中

C++之boost::array的用法_C 语言

本文实例讲述了C++之boost::array的用法,分享给大家供大家参考.具体如下: 复制代码 代码如下: #include <string>  #include <iostream>  #include <boost/array.hpp>  #include <algorithm>  using namespace std;  int main()  {      boost::array<int, 5> array_temp = {{12,

C++之Boost::array用法简介_C 语言

本文实例讲述了c++里支持静态数组的容器:boost.array.分享给大家供大家参考.具体分析如下: 很多C++程序员都认为boost.array很有可能出现在下一代标准库里.对于boost.array的用法有一个基本的了解是很有必要的. 1. 为什么我们需要固定大小的数组的容器 首先,固定大小的数组还是很常见的,虽然stl提供了vector,但是vector作为动态可增长的数组,比静态数组多了一点开销,这在一些人看来是无法忍受的.c++里也需要提供固定大小容量的数组容器,当然,性能可以和普通

removing objects from an array

I am creating a program that uses an array of objects declared with Element* elements =newElement[number]; where an element is a class that has/needs a its own destructor. when I go to delete this would I use just use array delete, and have the progr

C++的Json解析库:jsoncpp和boost .

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org/,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法.json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0).  一. 使用jsoncpp解析json Jsoncpp是个跨平台的开源库,首先从http://jsoncpp.

【Boost】boost库asio详解3——io_service作为work pool

无论如何使用,都能感觉到使用boost.asio实现服务器,不仅是一件非常轻松的事,而且代码很漂亮,逻辑也相当清晰,这点上很不同于ACE.使用io_service作为处理工作的work pool,可以看到,就是通过io_service.post投递一个Handler到io_service的队列,Handler在这个io_service.run内部得到执行,有可能你会发现,io_services.dispatch的接口也和io_service.post一样,但不同的是它是直接调用而不是经过push

数组的选择--固定大小数组模板array存在的意义!

 主要就是为了使用的方便,更加容易和algorithm的算法结合的更好! #include <iostream> #include <ctime> #include <array> #include <functional> #include <algorithm> #include <boost\array.hpp> using namespace std; using namespace std::tr1; int getRand

boost库的常用组件的使用(ZT)

1.boost::any boost::any是一种通用的数据类型,可以将各种类型包装后统一放入容器内 最重要的它是类型安全的.有点象COM里面的variant. 使用方法: any::type() 返回包装的类型 any_cast可用于any到其他类型的转化    #include  < boost / any.hpp >  void  test_any() { typedef std::vector < boost::any >  many; many a; a.push_ba

Boost简介

来源:http://www.cnblogs.com/wangkangluo1/archive/2012/05/28/2521493.html 原文链接 一BOOST Boost带领你远远地超越了C++标准库,它使得C++编程更优雅.更有活力.更高产.(引自:Beyond the C++ Standard Library: An Introduction to Boost)(慢慢体会哦!) 二参考 主要: boost的在线document:http://boost.org/libs/librari