原文:boost源码剖析----boost::any

boost源码剖析 boost::any 有的时候我们需要有一个万能类型来进行一些操作,这时候boost::any就派上用场了。 用法比较简单,我们来研究下boost::any是如何实现的。 原理 c 是一个强类型的语言,要实现一个万能类型可以考虑用void 来保存数据,然后用类型转换进行操作,如: 但是这样的写法有一个明显的缺点就是类型不安全。 显然我们可以用template来改进我们的程序: ...

2014-09-10 21:01 1 3838 推荐指数:

查看详情

boost.asio源码剖析

一. 前 言二. 架构浅析三. 流程分析 * 常见流程分析之一(Tcp异步连接) * 常见流程分析之二(Tcp异步接受连接) * 常见流程分析之三(Tcp异步读写数据 ...

Thu Jun 19 15:42:00 CST 2014 5 3644
boost.asio源码剖析(一) ---- 前 言

* 前言 源码之前,了无秘密。 ——侯捷 Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库由C++标准委员会 ...

Thu Jun 19 15:38:00 CST 2014 0 3144
boost.asio源码剖析(三) ---- 流程分析

* 常见流程分析之一(Tcp异步连接) 我们用一个简单的demo分析Tcp异步连接的流程: 这段代码中的异步连接请求在asio源码中的序列图如下: 其中,basic_socket是个模板类,tcp协议中的socket的定义 ...

Thu Jun 19 15:41:00 CST 2014 3 4715
boost::any 用法

boost::any可以存放任何类型的C++类型,也可以是用户自定义的类型。非常方便,可以很方便的满足在运行过程中判断数据类型,从而进行相关的操作。 函数原型: 成员函数说明: Boost::Any的实现比较简单,Any拥有一个模版构造函数,这使他可以接受任何类型 ...

Fri Apr 24 06:13:00 CST 2015 0 4155
Boost条件变量condition_variable_any

  Boost条件变量可以用来实现线程同步,它必须与互斥量配合使用。使用条件变量实现生产者消费者的简单例子如下,需要注意的是cond_put.wait(lock)是在等待条件满足。如果条件不满足,则释放锁,将线程置为waiting状态,继续等待;如果条件满足,则重新获取锁,然后结束wait,继续 ...

Wed Dec 21 02:06:00 CST 2016 0 5805
boost-数据类型之auto、any、tuple、variant

1、auto、decltype auto是C++11中的关键字,它可以通过类型推导自动得到变量或对象的类型,需要注意的是auto会忽略引用,因为引用其实就代表原对象: ...

Wed Sep 21 22:03:00 CST 2016 0 1603
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM