原创 c++11中lambda

在C++中可以對從在括號運算符。下面是一個重載括號運算符的類。 class Abs { public: int operator()(int val) const { return val < 0

原创 C++11 中一個很有趣的東西,Lambda表達式,稱可調用對象,也叫函數對象。

最近在工作中接觸到一些C++11的東西,感覺挺有趣的。都沒有寫博客的習慣,打算以後學點東西記一記。ok,先來講講有趣的函數對象Lamdba。 lambda表達式格式如下: [捕獲列表] (參數列表) -> 返回值 類型 {函數

原创 用c++11的bind,function,boost::condition_variable實現的一個線程安全的任務隊列

用bind將需要執行的任務包裝成function<void()> 放入隊列std::queue<function<void()>> 中。 然後在隊列中取出調用執行。 當線程間的共享數據發生變化的時候,可以通過condition_

原创 C++11中bind的用法

bind可以將函數綁定成另一個可調用的函數對象,可以改變原來函數的傳參方式。所以可以把bind看成一個函數的適配器。 #include <functional> #include <iostream> #include <stri

原创 boost.asio定時器dealine_timer,實現可以隨時控制啓動停止和設置時間。

dealine_timer類的成員函數 ![這裏寫圖片描述](https://img-blog.csdn.net/20150317163110237) 定時器dealine_timer有兩種形式的構造函數,都要求有一個io_ser

原创 DUILIB gif按鈕

轉自 DuiLib開發之顯示Gif 最近正在用duilib進行開發,需要顯示動態的gif.由於新版的stb_image.c中,還沒有支持動態gif的加載,本人決定在stb_image.c中增加一個加載動態gif的函數TGifInf

原创 深入Boost.asio的異步Tcp通信的server、client,可用來當程序骨架。

程序功能: 客戶端用名字登錄服務端 連接由客戶端驅動,客戶端請求,服務端應答 所有的請求和應答都以\n結尾 當客戶端在5秒內沒有發ping請求,服務端就關閉連接 客戶端可以請求所有已經建立連接的用戶列表 客戶端可以發ping請求

原创 Boost.asio實現的同步、異步TCP通信的簡單例子

每個asio程序都必須有io_server對象。對於服務端和客戶端都需要socket對象,通過socket對象的成員函數進行連接和數據通信。服務端需要 acceptor對象來等待連接。 下面的例子是用C++11和boost1.57

原创 IOS應用的啓動過程與生命週期

當創建完一個ios項目的時候可以看到一個main.m文件 #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { @

原创 Ubuntu 上安裝mosquitto

安裝時需要庫 sudo apt-get install libssl-dev sudo apt-get install libc-ares-dev sudo apt-get install libc-ares2 sudo apt-

原创 python中的工廠函數

工廠函數:一個能夠記住嵌套作用域的變量值的函數,儘管那個作用域已經不存在了。 >>> def maker(N): def action(X): return X**N return action 這定義了一

原创 ios響應者鏈條

首先,當發生事件響應時,必須知道由誰來響應事件。在IOS中,由響應者鏈來對事件進行響應,所有事件響應的類都是UIResponder的子類,響應者鏈是一個由不同對象組成的層次結構,其中的每個對象將依次獲得響應事件消息的機會。當發生事件時,事

原创 OC的KVC和KVO機制

KVC鍵值編碼 鍵值編碼中基本使用-valueForKey:和-setValue:forKye:方法。你可以像對象發送消息並且傳遞你想要訪問的熟悉名稱的鍵值作爲參數。 KVC方法會首先查找以參數命名的getter、setter方法,如果

原创 OC語法

類的創建 聲明:就是對的概括說明,它是給使用該的人看的 1. 確定類名 2. 要繼承NSObject,是爲了讓類有創建對象的能力 3. 聲明必須以@interface 開頭 以@end結尾 4.

原创 Objective-C中得MRC與ARC

MRC 內存管理 任何繼承自NSObject的對象都需要內存管理,非對象類型不需要(int、char、float、double、struct、enum等 ) OC通過引用計數來判斷是否需要回收一個對象所佔用的內存,每一個OC對象都有自己