`

boost array

阅读更多
array本质上是一个对静态数组的包装,没有构造函数,不能指定大小,不能动态增长
template<class T,std::size_t N>
class array{
public:
    T elems[N];

    //迭代器的首指针,末指针加1
    iterator begin();
    iterator end();

    reference operator[](size_type i);
    reference at(size_type i);

    //返回首末元素的引用,相当于elems[0],elems[N-1]
    reference front();
    reference back();

    static size_type size();
    static bool empty();
    static size_type max_size();

    //以c数组的形式返回内部数组指针,用于需要原始指针的场合
    T* data();
    T* c_array();

    void swap(array<T,N>& y);//交换两个array
    void assign(const T& value);
};



#include<boost/array.hpp>
#include<iostream>
using namespace boost;
using namespace std;

template<typename T>
void printArray(const T& t)
{
    typename T::const_iterator iter;
    for(iter = t.begin();iter!=t.end();++iter){
        cout << *iter << " ";
    }
    cout << endl;
}

int main()
{
    array<int,10> ar;
    ar.assign(100);//把所有的值设成100
    ar[0] = 1;
    ar.back() = 10;//将最后一个值设成10
    assert(ar[ar.max_size()-1]==10);

    printArray(ar);
    int *p = ar.c_array(); //获得原始数组指针
    *(p+5) = 123;
    cout << "ar[5]:" << ar[5] << endl;
    ar.at(8)=345;
    sort(ar.begin(),ar.end());//可以使用标准算法排序
    cout << "sort:";
    printArray(ar);
}

1 100 100 100 100 100 100 100 100 10 
ar[5]:123
sort:1 10 100 100 100 100 100 100 123 345 

分享到:
评论

相关推荐

    C++之Boost::array用法简介

    本文实例讲述了c++里支持静态数组的容器:boost.array。分享给大家供大家参考。具体分析如下: 很多C++程序员都认为boost.array很有可能出现在下一代标准库里。对于boost.array的用法有一个基本的了解是很有必要的。...

    C++之boost::array的用法

    主要介绍了C++之boost::array的用法,以实例的形式简单讲述了静态数组的容器boost::array的使用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下

    Grid-Connected-PV-Array.zip_PV DC-DC converter_boost VSC_mppt_tw

    PVarray_Grid_IncCondReg_det.mdl is a detailed model of a 100-kW array connected to a 25-kV grid via a DC-DC boost converter and a three-phase three-level Voltage Source Converter (VSC). Maximum Power ...

    jnynpuws.zip_Boost_PV array_mppt pv array

    直线阵采用切比学夫加权控制主旁瓣比,在matlab环境中自动识别连通区域的大小,包含了阵列信号处理的常见算法,计算加权加速度,matlab小波分析程序,包含光伏电池模块、MPPT模块、BOOST模块、逆变模块。

    THE BOOST C++ LIBRARIES

    13.2 Boost.Array 13.3 Boost.Unordered 13.4 Boost.MultiIndex 13.5 Boost.Bimap 13.6 Exercises Chapter 14: Data Structures 14.1 General 14.2 Boost.Tuple 14.3 Boost.Any 14.4 Boost.Variant 14.5 Exercises ...

    PV_array_MPPT_Boost_5320W_420V.zip_PV array BOOST_mppt boost_pv光

    光伏发电有效模型光伏 真实可用 可以直接套用来用以学习光伏发电

    boost 1.41 中文文档,使用帮助,教程手册

    汉化 boost 文档,致力 boost 推广。 如果你对本项目有兴趣,欢迎加入,相关说明请查阅项目论坛: https://groups.google.com/ 到目前为止,各人贡献的译文如下: 贡献者 贡献的译文 alai04 accumulators, any, ...

    numpy-boost:允许在 C++ 中作为 boost 访问 Numpy 数组的包装器

    任何写入boost::multi_array接口的 C++ 算法都可以轻松地重新编译以使用 Numpy 数组。 已知缺点: 由于 boost::multi_array 的设计,数组的数据类型和维数在编译时是固定的(尽管这在实践中通常不是一个重要的限制...

    SMCGPV.rar_PV of SMC_boost converter smc_dc dc pv_mppt pv array_

    A boost converter is directly connected to the PV array with MPPT for operating at the maximum power point. A regulation cascades (current/voltage) applied using SMC for the control of DC converter a ...

    pvmaster100kw.rar_Boost_PV MPPT boost_incremental MPPT_incremen

    mppt incremental conductance for pv array and boost converter

    modelling2.mdl.zip_Boost_MPPT INVERTER_PV MPPT SIMULINK_boost an

    it consists of simulink model of PV array with inverter and mppt and aslo description file PV array with mmp tracking boost Dc-DC

    boost-histogram:C ++ 14 Boost的Python绑定

    Python的升压直方图 ( )(C ++ 14库)的Python绑定。 这是的直方图,同时仍提供完整直方图对象的功能。 看看有。 对于对分析感兴趣的最终用户,请参阅 ,这是第一方对分析人员...# Filling can be done with array

    matlab集成c代码-boost-ublasx:Boost.uBLAS库的扩展

    Matlab集成的c代码Boost.uBLASx C ++库的扩展。 要了解当前版本中的新增功能,请转到。...array_reference类,用于表示对数组的引用)。 新类型特征(例如,用于确定矩阵表达式的布局的layout_type类)。 从长远

    downloads.part1.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    downloads.part3.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    downloads.part2.rar

    boost-1.70.0.tar.gz boostorg-any-boost-1.70.0.tar.gz boostorg-array-boost-1.70.0.tar.gz boostorg-asio-boost-1.70.0.tar.gz boostorg-assert-boost-1.70.0.tar.gz boostorg-assign-boost-1.70.0.tar.gz ...

    Linux下Boost序列化问题解决

    由于项目需要,要使用boost,所以在网上找了一些例子帮助理解,其中遇到很多问题,再次总结记录一下。 #include &lt;boost&gt; #include &lt;boost&gt; #include &lt;boost&gt; #include #include ... boost::array&lt;

    wzrqhatb.zip_ROOT_mppt pv array_music 导航_导航信号

    一种流形学习算法(很好用),包括 MUSIC算法,ESPRIT算法 ROOT-MUSIC算法,包含光伏电池模块、MPPT模块、BOOST模块、逆变模块,现代信号处理中谱估计在matlab中的使用,阵列信号处理的高分辨率估计,GPS和INS组合...

Global site tag (gtag.js) - Google Analytics