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