原文: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