《BOOST程序库完全开发指南》 第04章 实用工具
类型自动推导:
#include <iostream> #include <boost/typeof/typeof.hpp> #include <vector> #include <string> using namespace std;vector<string> func() {vector<string> v(10);return v; }int main() {BOOST_TYPEOF(2.1*3) x = 2.1*3;BOOST_AUTO(y,2.1*3); //我感觉 BOOST_AUTO 更好用些。第一个参数是左值,第二个>参数是右值。 BOOST_AUTO(vect,func());cout<<x<<"\n"<<y<<"\n"<<vect.size()<<endl; //不过用了自动推导之后,TAGS智能提示就不能用了,可以理解。 }
快速向容器中增加数据:
#include <iostream> #include <boost/assign.hpp> #include <vector>using namespace std; using namespace boost::assign; //必须要使用 using 指示符,只有这样才能让重载的 += 操作符在作用域内生效int main() {vector<int> vect1,vect2;vect1 += 1,2,3,4,5,10*2;cout<<"vect1's size is: "<<vect1.size()<<endl;for(int i = 0; i < vect1.size();i++){cout<<vect1[i]<<endl;} push_back(vect2)(5)(15)(25)(35); //push_back(vect2),5,15,25,35; cout<<"vect2's size is: "<<vect2.size()<<endl;for(int i = 0; i < vect2.size();i++){cout<<vect2[i]<<endl;}vector<int> vect3 = list_of(100)(200)(300)(400);cout<<"vect3's size is: "<<vect3.size()<<endl;for(int i = 0;i < vect3.size();i++){cout<<vect3[i]<<endl;} }
交换元素或数组:
#include <iostream> #include <boost/swap.hpp>int main() {int a1[3] = {1,2,3};int a2[3] = {4,5,6};boost::swap(a1,a2);for(int i=0;i<3;i++){std::cout<<a1[i]<<std::endl;} }
转载于:https://www.cnblogs.com/tianyajuanke/archive/2012/10/18/2729097.html
《BOOST程序库完全开发指南》 第04章 实用工具相关推荐
- 读《Boost程序库完全开发指南》
读<Boost程序库完全开发指南> 2011-05-18 20:47:19| 分类: 读书|举报|字号 订阅 C++确实很复杂,神一样的0x不知道能否使C++变得纯粹和干爽? boost ...
- 一本超越期待的 C++ 书——简评 Boost程序库完全开发指南 深入C++ 准 标准库
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 赖勇浩( ...
- Boost程序库完全开发指南——深入C++“准”标准库(第3版)
内容简介 · · · · · · Boost 是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库,有着"C++'准'标准库"的美誉. Boost 由C++标准委员会 ...
- 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》...
作为一个时不时要用一点 C++ 的程序员,我常常自嘲为斯德哥尔摩综合症患者,用 Python 写着懒散的代码时,会怀念以前编写 C++ 代码的那种被虐感.但当真正要写一些 C++ 代码的时候,又会怀念 ...
- 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》
赖勇浩(http://laiyonghao.com) 作为一个时不时要用一点 C++ 的程序员,我常常自嘲为斯德哥尔摩综合症患者,用 Python 写着懒散的代码时,会怀念以前编写 C++ 代码的那种 ...
- 读书笔记之:Boost程序库完全开发指南(Ch1-4)
第0章 导读 第1章 Boost程序库总论 1.什么是Boost 2. 如何使用Boost 3.什么是STLprot 4.开发环境 第2章 时间与日期 1. timer库 代码如下: View Cod ...
- 《BOOST程序库完全开发指南》 第11章 函数与回调
第11章 函数回调 #include <iostream> #include <boost/assign.hpp> #include <boost/ref.hpp> ...
- boost------signals2的使用1(Boost程序库完全开发指南)读书笔记
signals2基于Boost的另一个库signals,实现了线程安全的观察者模式.在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个 ...
- boost------asio库的使用2(Boost程序库完全开发指南)读书笔记
网络通信 asio库支持TCP.UDP.ICMP通信协议,它在名字空间boost::asio::ip里提供了大量的网络通信方面的函数和类,很好地封装了原始的Berkeley Socket Api,展现 ...
最新文章
- was unable to refresh its cache! status = Cannot execute request on any known server
- (20/24) webpack实战技巧:watch实现热打包和添加代码备注
- 【解惑】这么多技术我该怎么学 [转]
- [导入]extjs 教程
- spring4-3-AOP-面向切面编程
- 网络知识:WiFi越用越慢,到底是什么原因?
- python递归查找_Python程序使用递归查找数字的幂
- Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题
- UML-based workflow |wfmc|面向对象的概念
- java war包混淆_使用proguard混淆java web项目代码
- 计算机知识*.jpg,计算机第一篇考试题(基础知识部分)
- hdu 1195 Open the Lock
- RK3399 USB RNIDS/gagnet实战
- 深度学习目标检测模型的评价标准-AP与mAP
- 计算机组成原理学习笔记(四)指令系统(学习王道)
- Holt两参数指数平滑法的R实现
- c语言问题 角谷猜想,hdu 1279 验证角谷猜想(简单的模拟)
- springboot配置两个parent的方法
- Hugo作者、Go核心团队成员Steve Francia谈诞生13年的Go语言:生态系统、演化与未来[译]...
- 【031902238崔佳雪】
热门文章
- 伪分布式Hadoop2.x集群的搭建1
- JFinal Db + Record模式 - ORM 框架
- javascript闭包原理
- mysql学习笔记03 mysql数据类型
- HDU-4675 GCD of Sequence 数学
- ZOJ 1760 How Many Shortest Path
- 人人可懂的机器学习入门要点和阅读路径:学什么?怎样学?
- 从单体到Flink:一文读懂数据架构的演变
- 2018世界幸福指数中国排第86,这种报告是怎样做出来的?
- 重磅!阿里宣布成立芯片公司,“平头哥”能解决中国的“无芯之痛”吗?