- 浏览: 768642 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (1045)
- 数据结构 (36)
- UML与设计模式 (42)
- c++ (87)
- rust (36)
- Qt (41)
- boost模板元编程 (43)
- Linux (77)
- 汇编 (4)
- 其它 (2)
- 烹饪 (3)
- unix c / socket (73)
- 软件工程 (4)
- shell (53)
- Python (37)
- c++ primer 5th(c++11) (22)
- 数据库/MySQL (27)
- 数据存储 (4)
- lisp (7)
- git (4)
- Utility (3)
- CDN与DNS (54)
- Http (53)
- php (7)
- nginx/lua/openresty (41)
- redis (11)
- TCP/IP (16)
- 互联网 (6)
- kernel (2)
- go (34)
- 区块链 (43)
- 比特股 (13)
- 以太坊 (23)
- 比特币 (23)
- 密码学 (10)
- EOS (53)
- DAG (1)
- docker (1)
- filecoin (7)
- solidity (65)
- ipfs (8)
- 零知识证明 (1)
- openzeppelin (3)
- java (1)
- defi (7)
- Ton (0)
最新评论
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
发表评论
-
multi_index_container
2018-08-11 13:04 462根据不同的类中不同的字段排序 #include < ... -
program_options读命令行和配置文件
2018-07-27 11:30 873#include <boost/program_opti ... -
centos下boost安装
2014-03-27 09:28 1069./booststarp.sh //这里的一些错误不用管 ... -
GC的改良
2013-10-17 22:05 583分代回收:对分配不久,诞生时间较短的“年龄”对象进行重点扫描, ... -
GC与引用记数
2013-10-16 21:57 702根(Root)就是判断对象是否可被引用的起始点。至于哪里才是根 ... -
boost 信号槽
2011-06-08 23:43 2327#include<boost/signals2.hp ... -
boost bind
2011-06-07 15:28 1691bind并不是一个单独的类或函数,而是非常庞大的家族,依据绑定 ... -
boost reference_wrapper
2011-06-05 21:07 1568reference_wrapper是一个引用类型的包装器 ... -
元编程
2011-06-02 22:46 935元编程的最大特点在于:某些用户自定义的计算可以在程序翻译期进行 ... -
参数化虚拟性
2011-06-02 22:17 868#include<iostream> usi ... -
boost any与variant
2011-05-31 15:55 2434any:是一种只能容纳一个元素的容器,但这个元素可以是任意类型 ... -
traits
2011-05-30 16:43 794#include<iostream> usi ... -
动静多态
2011-05-30 15:40 1071由于继承||虚函数在运行期进程处理,这种多态叫动多态。 模板允 ... -
局部特化
2011-05-29 16:27 1037局部特化并不会引入一个新的模板,它只对原来模板(基本模板)进行 ... -
类模板与模板类
2011-05-29 16:08 7101.类模板:该类是一个模板,他代表的是:整个类家族的参数化描述 ... -
boost tuple
2011-05-27 15:03 1091tuple(元组):定义了一个有固定数目元素的容器,其中的每个 ... -
单元测试
2011-05-23 22:00 893test库提供了一个最小化的测试套件minimal test. ... -
boost StaticAssert
2011-05-23 21:42 941static_assert库把断言的诊断时刻由运行期提前到编译 ... -
boost正则表达式
2011-05-17 23:10 2804xpressive是boost的正则表达式库,它比boost. ... -
为什么模板要写在.h里面
2011-05-13 18:02 1113//test.h template<typena ...
相关推荐
本文实例讲述了c++里支持静态数组的容器:boost.array。分享给大家供大家参考。具体分析如下: 很多C++程序员都认为boost.array很有可能出现在下一代标准库里。对于boost.array的用法有一个基本的了解是很有必要的。...
`boost::array`是C++ Boost库中的一个容器,它提供了对静态数组的封装,具有类似于标准模板库(STL)容器的接口。在C++标准库中,静态数组(如int arr[5])虽然方便,但缺乏一些高级功能,如迭代器支持和成员函数。`...
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 ...
3. 容器扩展:Boost库扩展了标准库中的容器,如multi_array用于多维数组,unordered_map和unordered_set提供了更高效的哈希表实现,variant则用于存储多种类型的值。 4. 算法:Boost库包含了大量算法,例如foreach...
标题中的“PV_array_MPPT_Boost_5320W_420V”暗示了这是一个关于光伏阵列最大功率点跟踪(MPPT)升压转换器的模型,设计功率为5320瓦,工作电压为420伏。在光伏系统中,MPPT是一种关键技术,用于从太阳能电池板获取...
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 ...
array_view2d – C++98 和 C++11 的数组或向量的 2D 视图 array_view2d是一个仅包含头文件的两文件库,用于提供一维数组或向量的二维视图。 该库受 array_view [1] 启发,可用于 C++98 及更高版本以及 Visual C++ 6...
3. **算法和容器**:Boost提供了一些高级算法(如并行算法)和容器(如multi_array),这些工具能够帮助开发人员编写更高效和可维护的代码。 4. **正则表达式**:Boost.Regex库实现了标准C++11之前的正则表达式功能...
c++ boost(1.84)库array类测试文件
5. **算法和容器**:Boost阿尔戈库包括各种算法,如排序、查找、转换等,以及容器如`flat_map`和`multi_array`,为程序员提供了更多选择。 6. **日期和时间**:Boost.Date_Time库提供了高级的日期和时间处理功能,...
直线阵采用切比学夫加权控制主旁瓣比,在matlab环境中自动识别连通区域的大小,包含了阵列信号处理的常见算法,计算加权加速度,matlab小波分析程序,包含光伏电池模块、MPPT模块、BOOST模块、逆变模块。
4. 容器与算法:`boost::container`库提供了多种容器,如`boost::array`(固定大小数组)、`boost::unordered_map`(无序映射),以及各种算法如`boost::foreach`,使得迭代更加便捷。 5. 动态链接:`boost::dll`库...
这部分介绍了Boost中的一些扩展数据结构和容器,这些组件扩展了C++标准库提供的基础容器类型,如`boost::array`、`boost::multi_index_container`等。这些容器不仅提供了额外的功能,而且在性能优化方面也做了很多...
2. Boost.Array:提供一个固定大小的数组容器,boost::array。 3. Boost.Bimap:提供双向关联容器,boost::bimap。 4. Boost.Bind:提供函数绑定功能,boost::bind。 5. Boost.Conversion:提供类型转换功能。 6. ...
1. **Boost库的组成部分**:包括容器(如multi_array和property_tree)、算法(如algorithm和graph)、智能指针(如shared_ptr和unique_ptr)、线程管理(thread)、日期时间处理(date_time)、正则表达式(regex)...
3. **容器库**:例如`multi_array`提供了多维数组,`property_tree`则用于XML、JSON等配置文件的解析和操作。 4. **函数对象和适配器**:如`bind`和`mem_fn`使得函数调用和成员函数调用更加灵活,`lambda`库则允许...
在本压缩包“Boost.orgarraymodule.zip”中,重点是`array`模块,这是一个针对固定大小数组的轻量级容器,它是C++标准库中`std::array`的一个前身。`array`模块在Boost库的早期版本中被广泛使用,为程序员提供了一种...
4. **容器**:Boost.Container库提供了STL之外的更多容器选择,如无序集合(unordered_set/unordered_map)、动态数组(dynamic_array)等。 5. **字符串处理**:Boost.String算法库提供了一系列处理字符串的高效...