类型自动推导:

#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章 实用工具相关推荐

  1. 读《Boost程序库完全开发指南》

    读<Boost程序库完全开发指南> 2011-05-18 20:47:19|  分类: 读书|举报|字号 订阅 C++确实很复杂,神一样的0x不知道能否使C++变得纯粹和干爽? boost ...

  2. 一本超越期待的 C++ 书——简评 Boost程序库完全开发指南 深入C++ 准 标准库

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 赖勇浩( ...

  3. Boost程序库完全开发指南——深入C++“准”标准库(第3版)

    内容简介  · · · · · · Boost 是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库,有着"C++'准'标准库"的美誉. Boost 由C++标准委员会 ...

  4. 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》...

    作为一个时不时要用一点 C++ 的程序员,我常常自嘲为斯德哥尔摩综合症患者,用 Python 写着懒散的代码时,会怀念以前编写 C++ 代码的那种被虐感.但当真正要写一些 C++ 代码的时候,又会怀念 ...

  5. 一本超越期待的 C++ 书——简评《Boost程序库完全开发指南:深入C++“准”标准库》

    赖勇浩(http://laiyonghao.com) 作为一个时不时要用一点 C++ 的程序员,我常常自嘲为斯德哥尔摩综合症患者,用 Python 写着懒散的代码时,会怀念以前编写 C++ 代码的那种 ...

  6. 读书笔记之:Boost程序库完全开发指南(Ch1-4)

    第0章 导读 第1章 Boost程序库总论 1.什么是Boost 2. 如何使用Boost 3.什么是STLprot 4.开发环境 第2章 时间与日期 1. timer库 代码如下: View Cod ...

  7. 《BOOST程序库完全开发指南》 第11章 函数与回调

    第11章  函数回调 #include <iostream> #include <boost/assign.hpp> #include <boost/ref.hpp> ...

  8. boost------signals2的使用1(Boost程序库完全开发指南)读书笔记

    signals2基于Boost的另一个库signals,实现了线程安全的观察者模式.在signals2库中,观察者模式被称为信号/插槽(signals and slots),他是一种函数回调机制,一个 ...

  9. boost------asio库的使用2(Boost程序库完全开发指南)读书笔记

    网络通信 asio库支持TCP.UDP.ICMP通信协议,它在名字空间boost::asio::ip里提供了大量的网络通信方面的函数和类,很好地封装了原始的Berkeley Socket Api,展现 ...

最新文章

  1. was unable to refresh its cache! status = Cannot execute request on any known server
  2. (20/24) webpack实战技巧:watch实现热打包和添加代码备注
  3. 【解惑】这么多技术我该怎么学 [转]
  4. [导入]extjs 教程
  5. spring4-3-AOP-面向切面编程
  6. 网络知识:WiFi越用越慢,到底是什么原因?
  7. python递归查找_Python程序使用递归查找数字的幂
  8. Java 实现Excel表数据的读取和写入 以及过程中可能遇到的问题
  9. UML-based workflow |wfmc|面向对象的概念
  10. java war包混淆_使用proguard混淆java web项目代码
  11. 计算机知识*.jpg,计算机第一篇考试题(基础知识部分)
  12. hdu 1195 Open the Lock
  13. RK3399 USB RNIDS/gagnet实战
  14. 深度学习目标检测模型的评价标准-AP与mAP
  15. 计算机组成原理学习笔记(四)指令系统(学习王道)
  16. Holt两参数指数平滑法的R实现
  17. c语言问题 角谷猜想,hdu 1279 验证角谷猜想(简单的模拟)
  18. springboot配置两个parent的方法
  19. Hugo作者、Go核心团队成员Steve Francia谈诞生13年的Go语言:生态系统、演化与未来[译]...
  20. 【031902238崔佳雪】

热门文章

  1. 伪分布式Hadoop2.x集群的搭建1
  2. JFinal Db + Record模式 - ORM 框架
  3. javascript闭包原理
  4. mysql学习笔记03 mysql数据类型
  5. HDU-4675 GCD of Sequence 数学
  6. ZOJ 1760 How Many Shortest Path
  7. 人人可懂的机器学习入门要点和阅读路径:学什么?怎样学?
  8. 从单体到Flink:一文读懂数据架构的演变
  9. 2018世界幸福指数中国排第86,这种报告是怎样做出来的?
  10. 重磅!阿里宣布成立芯片公司,“平头哥”能解决中国的“无芯之痛”吗?