原创 繼承,多態

繼承 繼承使得所有子類公共的部分都放在了父類,代碼得到了共享 只有is-a的時候纔是使用繼承最好的時候 父類的構造方法只能調用,不能繼承 子類擁有父類非private的屬性和功能,子類可以不同於的屬性 和功能, #include<ios

原创 c++中的圖鏈表數據結構

template<class T,class E> struct Edge{ int dest;//到下個點的距離 E cost;//到下個點的權重 Edge<T,E>*link; Edge(){} Edge(int num,E

原创 三、策略模式

由於手中沒有面向對象的項目,於是決定把大話設計模式用c++寫一遍加深映像! 面向對象的好處:可維護,可擴展,可複用,靈活性好。 原則常記心中:職責單一、開放-封閉、依賴倒轉、迪米特--->(低耦合) 職責單一:多個職責耦合在一起時一個

原创 第三十二章 字符串匹配

設T爲全局查詢域,P爲要查詢的字符串,查詢結果是:返回一個或多個距離T開始的偏移 後綴:字符串A是字符串D=X+A的後綴,記A -} D 前綴:字符

原创 C++Primer 筆記

第一章 儘量不要使用using namespace std,使用: using std::cin; using std::cout; using std::endl;原因:名稱衝突的可能性;本來只需要一棵樹,你缺砍了整個森林。

原创 第十三章 紅黑樹

紅黑樹(沒有一條路徑會比其他路徑長2倍)是一種平衡二叉樹,它在計算機中被廣泛的應用! 結點採用的結構: struct RB_node{ int key; int color; struct RB_node *p,

原创 二、工廠方法模式

由於手中沒有面向對象的項目,於是決定把大話設計模式用c++寫一遍加深映像! 面向對象的好處:可維護,可擴展,可複用,靈活性好。 原則常記心中:職責單一、開放-封閉、依賴倒轉、迪米特--->(低耦合) 職責單一:多個職責耦合在一起時一個

原创 使用linux的一些經驗

ubuntu安裝flash sudo cp ./libflashplayer.so /usr/lib/mozilla/plugins/安裝sublime sudo add-apt-repository ppa:webupd8team/su

原创 tcp/ip 多線程服務器端的實現(參考tcp/ip網絡編程)

線程的切換比進程快的多,因爲它不需要切換數據區和堆 共享數據區和堆可以用來交換信息 一、線程的創建 pthread_create()函數 #include<pthread.h> int prthread_create(pthread

原创 2017codecraft錯誤總結

錯誤1 錯誤代碼 int graph::get_grade(int grade) { int ki; //找到服務器檔位高於need的最小檔位 for(ki=server_count-1;ki>=0;ki--) { if(s

原创 關於linux system函數調用遇到的坑

關於linux c++守護進程調用調用system函數 我們的程序是守護進程,也就是說在最開始會設置一些信號處理,比如說 ... signal(SIGCHLD, SIG_IGN); //忽略子進程結束的信號 ... 在這樣的場景之下,我想

原创 C++11線程安全隊列

多線程編程需要實現一個線程安全的隊列,上鎖,避免多個線程同時讀寫 代碼: /** * 線程安全的隊列 */ #ifndef __THREAD_SAFE_QUEUE__ #define __THREAD_SAFE_QUEUE__

原创 在centos7上面搭建ftp服務器

在centos7上面搭建ftp服務器 要求: 1、通過賬號密碼訪問 2、只能訪問指定目錄(不能訪問上級目錄) 3、只能有讀權限(當然你自己也可設置可讀寫) 步驟一、環境 1、安裝 yum install vsftpd 2、關閉相應防火

原创 返回值優化

返回值優化的本質是編譯器做了這樣一件事情 我們的代碼 A do_something() { A a; ... return a; } 編譯器這樣做了 A a; void do_something(A &a) {

原创 博客筆記

git log控制輸出的寬度 :http://www.cnblogs.com/dabaopku/p/4273166.html git log格式控制:http://www.cnblogs.com/bellkosmos/p/5923439.