原创 C/C++ 筆記 -- 基本概念(2)

多維數組        一個多維數組在語義上並不等價於一個指向其元素類型的指針,相反他等價於一個“指向數組的指針" int b[3][4]     <=> int(*const b)[4] int c[3][4][5]  <=> int(

原创 常用的cvs命令--cvs tips

將branch分支同步到最新的HEAD分支的命令: cvs co terminal cvs up -j branch -j HEAD -d . &&

原创 APUE(UNIX環境高級編程)的源代碼編譯與調試

背景:APUE這些年陸陸續續看了幾遍,一直是桌子邊的必放的參考書,但是一直沒有把它的例子程序玩一遍,這一直是我心中的遺憾。今天嘗試把原書(第二版)提供的代碼下載下來,在我用的機器上跑起來,算了卻我這個心願的頭一步吧。獲取APUE代碼  

原创 C/C++ 筆記 -- 基本概念(1)

背景:最近打算跳槽了,把以前翻過的書溫習下,順便記一記筆記,可能比較雜。 基本概念 關於main 1、C++的main函數的限制    不能重載,不能內聯    不能定義爲靜態的    不能取其地址,不能自己調用自己。 2、main函數

原创 GDB的字符終端的替換工具——CGDB的使用與介紹

        項目網站:cgdb.sourceforge.net        cgdb可以看作gdb的界面增強版,用來替代gdb的 gdb -tui。cgdb主要功能是在調試時進行代碼的同步顯示,這無疑增加了調試的方便性,提高了調試效

原创 Perl 語言筆記(1)-標量類型

標量類型 字符串的兩種形式 單引號‘: 除了\'代表‘, \\代表\外引號內的所有內容代表他自己。雙引號“: 可以嵌入控制字符,嵌入十進制,八進制,16進制的數字,嵌入轉義符號,字符串操作 連接符.:$str1.$str2 "hello"

原创 常用數據結構之順序存儲的棧

       棧是一種LIFO的數據結構,支持從棧頂進行數據的壓入(入棧)和彈出(出棧),可應用於將遞歸算法變成非遞歸,逆波蘭後綴表達式等等。        畫了張簡單的結構圖,如下所示:          用C++模板類實現的代碼如下

原创 C/C++筆記 -- C++ 多態

1、函數的重載       函數重載依據參數列表的不同來區分,而與返回值無關。全局函數和類成員函數同名同參不算重載,其作用域不一樣。2、成員函數的重載(overload),覆蓋(overrid)和隱藏        成員函數的重載是:具有

原创 常用數據結構之鏈式存儲的棧

     鏈式存儲的棧用鏈表的第一個節點作爲棧頂,壓棧和出棧都是通過對鏈表的頭進行添加刪除來實現的。        下面是鏈式存儲結構棧的示意圖:                   用C++模板類實現的代碼如下: /* * =

原创 常用數據結構之順序結構List實現

        用C++的模板類寫了個普通的List類,順序結構存儲的。留個備份。(模板類在G++中只能將聲明與定義放在頭文件裏,C++標準也是這麼說的)      基於數組實現的列表,就是一數組的封裝,其插入和刪除的時間複雜度是O(n)

原创 常用數據結構之linklist鏈式線性表

 此數據結構的ADT就不說了,用鏈式實現線性表。實現的版本中包含一個head節點,用於指向線性表。         鏈表的長度包括a1~an。 下面是用C++模板類實現的一個鏈表方式存儲的線性表linklist /* * =====

原创 VIM做c/c++ perl的開發編輯器

        幾乎每天上班第一件事就是,打開vim。vim的強大不在於它實現了多少功能,而是它能讓你想到的功能都能有辦發做到。vim的強大在於他提供了一個開放的平臺,一個框架讓用戶按自己的心去隨意的添加想要的功能。這種偉大的軟件看起來不

原创 一個簡單的Makefile

    把平時寫的東西留個備份,經常找不到。一個簡單的Makefile,用於對當前目錄下c,cpp文件編譯連接,主要是寫一些例子程序的時候用到。 ################OPTION################### CCO

原创 C/C++筆記 --C++ 面向對象

1、虛函數         定義虛函數的類稱爲多態類,編譯器會爲多態類自動生成一個虛函數表vtable。vtable是一個函數指針數組,用來描述每個類的虛函數地址。多太類同時還有一個指向虛函數表的指針,爲類的對象訪問虛函數。vtable中

原创 常用數據結構與算法之排序算法

排序算法 /* * ===================================================================================== * * Filename: