- 浏览: 771628 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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)
最新评论
#include<boost/assign.hpp> #include<vector> #include<set> #include<string> #include<utility> #include<iostream> using namespace std; using namespace boost::assign; template <typename T> void print(const T& t) { typename T::const_iterator iter; for(iter=t.begin();iter!=t.end();++iter) cout << *iter << " "; cout << endl; } template<> void print(const map<int,string>& m) { map<int,string>::const_iterator iter; for(iter=m.begin();iter!=m.end();++iter) cout << iter->first << " " << iter->second << " "; cout << endl; } int main(){ //operator+=很好用,但仅限于STL中定义的标准容器(vector,list,set...) vector<int> v; v += 1,2,3,4,5,6*6; print(v); set<string> s; s += "cpp","java","c#","python"; print(s); map<int,string> m; m += make_pair(1,"one"),make_pair(2,"two"); print(m); //push_back() vector<int> v2; push_back(v2)(1)(2)(3)(4)(5); print(v2); //push_front list<string> l; push_front(l)("cpp")("java")("c#")("python"); print(l); //insert set<double> s2; insert(s2)(3.14)(0.324)(2.32); print(s2); map<int,string> m2; insert(m2)(1,"one")(2,"two"); print(m2); } 1 2 3 4 5 36 c# cpp java python 1 one 2 two 1 2 3 4 5 python c# java cpp 0.324 2.32 3.14 1 one 2 two
也支持list_of
#include<boost/assign.hpp> #include"printT.h" #include<string> #include<deque> using namespace std; using namespace boost::assign; int main() { vector<int> v = list_of(1)(2)(3)(4)(5); print(v); deque<string> d = list_of("power")("bomb")("phazon")("suit"); print(d); set<int> s = (list_of(10),20,30,40,50,60); print(s); map<int,string> m = list_of(make_pair(1,"one"))(make_pair(2,"two")); print(m); } 1 2 3 4 5 power bomb phazon suit 10 20 30 40 50 60 1 one 2 two
发表评论
-
multi_index_container
2018-08-11 13:04 462根据不同的类中不同的字段排序 #include < ... -
program_options读命令行和配置文件
2018-07-27 11:30 874#include <boost/program_opti ... -
centos下boost安装
2014-03-27 09:28 1073./booststarp.sh //这里的一些错误不用管 ... -
GC的改良
2013-10-17 22:05 584分代回收:对分配不久,诞生时间较短的“年龄”对象进行重点扫描, ... -
GC与引用记数
2013-10-16 21:57 703根(Root)就是判断对象是否可被引用的起始点。至于哪里才是根 ... -
boost 信号槽
2011-06-08 23:43 2334#include<boost/signals2.hp ... -
boost bind
2011-06-07 15:28 1695bind并不是一个单独的类或函数,而是非常庞大的家族,依据绑定 ... -
boost reference_wrapper
2011-06-05 21:07 1573reference_wrapper是一个引用类型的包装器 ... -
元编程
2011-06-02 22:46 939元编程的最大特点在于:某些用户自定义的计算可以在程序翻译期进行 ... -
参数化虚拟性
2011-06-02 22:17 873#include<iostream> usi ... -
boost any与variant
2011-05-31 15:55 2437any:是一种只能容纳一个元素的容器,但这个元素可以是任意类型 ... -
traits
2011-05-30 16:43 798#include<iostream> usi ... -
动静多态
2011-05-30 15:40 1075由于继承||虚函数在运行期进程处理,这种多态叫动多态。 模板允 ... -
局部特化
2011-05-29 16:27 1039局部特化并不会引入一个新的模板,它只对原来模板(基本模板)进行 ... -
类模板与模板类
2011-05-29 16:08 7131.类模板:该类是一个模板,他代表的是:整个类家族的参数化描述 ... -
boost tuple
2011-05-27 15:03 1092tuple(元组):定义了一个有固定数目元素的容器,其中的每个 ... -
boost array
2011-05-27 00:06 936array本质上是一个对静态数组的包装,没有构造函数,不能指定 ... -
单元测试
2011-05-23 22:00 896test库提供了一个最小化的测试套件minimal test. ... -
boost StaticAssert
2011-05-23 21:42 943static_assert库把断言的诊断时刻由运行期提前到编译 ... -
boost正则表达式
2011-05-17 23:10 2806xpressive是boost的正则表达式库,它比boost. ...
相关推荐
1. **容器赋值—assign**:分析`boost::assign`如何简化容器的初始化和赋值操作。 2. **型别分类器—type_traits**:探讨`boost::type_traits`如何实现类型属性和操作的元编程。 3. **泛型指针类any**:研究`boost::...
2. **容器和算法(Containers and Algorithms)**:Boost库扩展了标准模板库(STL),提供了如`multi_index_container`、`flat_map`等高级容器,以及`assign`、`lambda`等算法工具,增强了代码的灵活性和可读性。...
- **具体组件文档**:例如Boost.Assign、Boost.Regex和Boost.Array等组件的文档,详细介绍了各个组件的功能和使用方法。 - **源码分析**:对Boost库的部分源码进行了深度解析,帮助高级用户理解其内部实现机制。 ##...
3. Boost.Assign文档:这个组件提供了简单且类型安全的方式来初始化容器,如std::vector和std::list等。 4. Boost.Regex文档:提供了用于正则表达式的强大工具,支持复杂的文本匹配和搜索功能,极大地方便了处理...
6. **输入输出**:如Assign简化赋值操作,Filesystem管理文件系统,Format实现格式化输出,locale_state_savers处理本地化状态,Serialization实现序列化和反序列化,以及日期时间处理库Date_time。 7. **综合工具*...
3. **算法**(Algorithms):Boost提供了一套扩展的算法库,如`assign`用于快速填充容器,`algorithm`包含各种字符串处理和排序算法。 4. **函数对象**(Function Objects):例如`function`和`bind`,它们允许将...
9. **Boost.Assign**:简化了容器初始化的过程。 10. **Boost.Tuple**:提供了一种更灵活的数据结构来存储多个不同类型的值。 #### 三、Boost库的安装与配置 - **Windows平台**:可以通过预编译的二进制包进行安装...
汉化 boost 文档,致力 boost 推广。 如果你对本项目有兴趣,欢迎加入,相关说明请查阅项目论坛: https://groups.google.com/ 到目前为止,各人贡献的译文如下: 贡献者 贡献的译文 alai04 accumulators, any, ...
- **算法库**(Algorithms):如foreach、assign、bind等,增强了C++的编程便利性。 - **泛型编程**(Generic Programming):如mpl(Meta-Programming Library)、function、lambda等,使得元编程和函数对象更加...
2. **容器和算法**:如`multi_array`用于多维数组操作,`foreach`循环宏简化迭代器的使用,`assign`库用于快速填充容器等。 3. **函数对象和绑定**:如`bind`和`function`库,使得函数可以像对象一样被传递和存储,...
在这个压缩包文件“assign-develop”中,我们可以期待找到与Boost分配模块相关的开发源代码和文档,帮助我们深入理解并利用这些高级内存管理工具。 Boost分配模块主要包含以下几个关键组件: 1. **Pool Allocation...
4. **容器和算法** (Containers and Algorithms):如multi_array提供了多维数组,assign库简化了容器的初始化,algorithm库扩展了标准库的算法。 5. **线程与并发** (Concurrency):如thread库提供了线程管理和同步...
### Boost库概览 Boost库,作为C++标准库(STL)的有力补充,旨在增强C++语言的功能性与实用性。自1998年成立以来,Boost库由一群热心的开发者共同维护与扩展,逐渐成为了C++社区中最受欢迎的开源项目之一。Boost库...
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 ...
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 ...
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 ...
- `void assign(const T& value);`:用给定的值填充整个数组,等同于`std::fill_n()`。 6. 特殊算法: - Boost::array还支持一些特殊算法,例如`std::swap`和`std::fill_n`,使得操作更加方便。 总的来说,Boost...
json精神使用Boost.Spirit V2和X3进行解析的json库。 json精神库的主要目标是创建一个一致的json解析器,该解析器生成一个json对象,可以像在javascript或python中一样对其进行操作。快速范例 // the json::value is...
2. **容器与算法**:Boost提供了一些扩展的容器,如`multi_array`(多维数组)和`property_tree`(属性树),以及增强的算法,如`assign`库用于快速填充容器。 3. **函数式编程**:Boost提供了一系列工具,如`bind`...