原创 設計模式--享元模式Flyweight(對象結構型)

一、概述 享元模式(Flyweight),就是利用共享技術有效地支持大量細粒度的對象。 當程序創建大量的對象時有損程序的性能,同時還容易造成內存溢出。我們將對象內部的信息進行細粒度地劃分,將一部分信息提取出來進行共享,可以節省內存空間,提

原创 設計模式-中介者模式Mediator(對象行爲型)

一、概述 中介者模式用一箇中介對象封裝一系列的對象交互,中介者使各對象不需要顯示地相互作用,從而使其鬆耦合,而且可以獨立地改變它們之間的交互。 二、類圖 Colleague是抽象同事類。 而ConcreteColleague是具體同事類

原创 裝飾模式和代理模式對比

一、裝飾模式 用戶使用代碼: //基類 class Subject { public: virtual void operation(); }; //具體類 class ConcreteSubject : public Su

原创 設計模式-策略模式Strategy(對象行爲型)

一、概述 策略模式就是定義一組算法,將每個算法封裝起來,並且使它們之間可以互換。 (1)Strategy抽象策略角色 每個策略或者算法必須具有的方法和屬性 (2)ConcreteStrategy具體策略角色 實現策略中的操作,該類含有具

原创 linux中fd_set的內部實現

原文鏈接:http://www.cnblogs.com/scope-beyound/p/3628217.html 一、在網絡編程中,經常用到selec系統調用來判斷套接字上是否存在數據可讀,或者

原创 條件變量和信號量

1、條件變量 條件變量(condition variable)是利用線程間共享的全局變量進行同步的一種機制,主要包括兩個動作:一個線程等待某個條件爲真,而將自己掛起;另一個線程使的條件成立,並通知等待的線程繼續。爲了防止競爭,條件變量的使

原创 visual studio代碼錯位

最近在visual studio上編譯代碼,發現代碼出錯提示位置和斷點位置總是和實際不符。嘗試各種方法發現可能是由於代碼拷貝或者添加中文註釋時,給編譯器輸入了錯誤的換行符導致的。visual studio認爲0x0D0A纔是換行符,而我的

原创 循環buffer的實現

原文鏈接:https://blog.csdn.net/maowentao0416/article/details/81984269 1.循環buffer的特點 1、先進先出 2、當空閒緩衝區用

原创 linux中epoll模型

epoll是linux內核爲處理大批量文件描述符而作了改進的poll,是linux下IO複用select/poll的增強版本。 一、epoll的主要接口是: 1、創建 (1)int epoll_create(int maxfds); ma

原创 OpenCV3編程入門-讀書筆記1

一、OpenCV概述 1、OpenCV全程Open Source Computer Vision Library,即開源計算機視覺庫。它是一個跨平臺的開源計算機視覺庫,可以運行在windows、linux、Mac OS、Android、i

原创 OpenCV3編程入門讀書筆記4-形態學濾波

一、腐蝕和膨脹 1、腐蝕和膨脹的主要功能 (1)消除噪聲 (2)分割出獨立的圖像元素,在圖像中連接相鄰的元素 (3)尋找圖像中的極大值或者極小值區域 (4)求出圖像的梯度 2、膨脹(dilate) 膨脹就是求局部最大值的操作。從數學角度來

原创 C++內存模型

1、存儲持續性 C++使用四種不同方案來存儲數據,它們的區別在於數據在內存中保留的時間,也叫做存儲持續性 (1)自動存儲持續性   在函數定義中聲明的變量,包括函數參數。 (2)靜態存儲持續性   在函數定義外和使用關鍵字static定義

原创 C++中public/protect/private三種訪問權限控制

一、成員訪問權限控制 1、public (1)public成員變量可以被成員函數訪問  [訪問性] (2)public成員可以被實體對象訪問  [訪問性] (3)public成員可以成爲子類成員  [對子類的繼承性] 2、protect

原创 c/c++時間操作函數總結

一、時區相關概念 地球自西往東轉動,東邊比西邊先看到太陽,所以東邊的時間比西邊的時間早。將地球經度按照24個時區進行劃分,每個時區相隔的經度爲15度。以英國倫敦(格林尼治天文臺舊址)爲中時區(零時區),向東有11個時區,向西也有11個時區

原创 OpenCV3編程入門-讀書筆記3-濾波

一、領域濾波(卷積) 鄰域算子值利用給定像素周圍像素的值決定此像素的最終輸出。如圖左邊圖像與中間圖像卷積得到右邊圖像。目標圖像中綠色的像素由原圖像中藍色標記的像素計算得到。 通用線性鄰域濾波是一種常用的鄰域算子,輸入像素加權得到輸出像素