原创 引用&指針、傳值&傳引用&傳址的區別

引用 概念(貼標籤式) 引用不是新定義一個變量,而是給已存在變量取了一個別名,編譯器不會爲引用變量開闢內存空間,它和它引用的變量共用同一塊內存空間 類型& 引用變量名(對象名) = 引用實體; 使用場景 1

原创 內聯函數與宏函數的區別

內聯函數 概念 以inline修飾的函數叫做內聯函數,編譯時C++編譯器會在調用內聯函數的地方展開,沒有函數壓棧的開銷,內聯函數提升程序運行的效率 特性 inline是一種以空間換時間的做法,省去調用函數額開銷。所以代

原创 poll與epoll

poll poll函數接口 #include <poll.h> int poll(struct pollfd *fds,nfds_t nfds,int timeout); //參數1 結構體指針(結構體數組的首地址) //

原创 C語言中的關鍵字及常用語句

c語言 c99 vs環境下 1>關鍵字 字節大小 char 聲明字符型變量 1 short 聲明短整型變量

原创 隊列的基本操作

隊列:只允許在一端進行插入數據操作,在另一端進行刪除數據操作的特殊線性表 進行插入操作的一端稱爲隊尾(入隊列) 進行刪除操作的一端稱爲隊頭(出隊列) 隊列具有先進先出(FIFO)的特性 隊列分類: 1.

原创 C++繼承

繼承概念 繼承(inheritance)機制是面向對象程序設計使代碼可以複用的最重要的手段,它允許程序員在保持原有類特性的基礎上進行擴展,增加功能。這樣產生新的類,稱派生類。繼承呈現了面向對象程序設計的層次結構,體現了由簡單到

原创 堆排序

堆排序 堆排序:是指利用堆積樹(堆)這種數據結構所設計的一種排序算法,它是選擇排序的一種。可以利用數組的特點快速定位指定索引的元素。堆分爲大根堆和小根堆,是完全二叉樹。大根堆的要求是每個節點的值都不大於其父節點的值。在數組的非

原创 RS-485、RS-422、RS-232通訊協議

RS-485、RS-422、RS-232通訊協議:

原创 RBTree——紅黑樹

RBTree RBTree:紅黑樹是一棵二叉搜索樹,它在每個節點上增加了一個存儲位來表示節點的顏色,可以是Red或Black。通過對任何一條從根到葉子簡單路徑上的顏色來約束,紅黑樹保證最長路徑不超過最短路徑的兩倍,因而近似於平衡

原创 探索new/malloc 、delete /free區別

C內存管理 堆上 C語言中使用malloc/calloc/realloc/free進行動態內存管理,malloc/calloc/realloc用來在堆上開闢空間,free將申請的空間釋放掉 堆上的內存需要用戶自己來管理

原创 類對象模型

類—->實例化—->對象 類有大小(只包含成員變量大小),沒有實際空間。空類大小爲1(區分類對象)。 類的實例化 用類類型創建對象的過程,稱爲類的實例化 1. 類只是一個模型一樣的東西,限定了類有哪些成員,定義出

原创 友元

友元分爲:友元函數和友元類 友元函數 友元函數可以直接訪問類的私有成員,它是定義在類外部的普通函數,不屬於任何類,但需要在類的內部聲明,聲明時需要加friend關鍵字。 1.友元函數可訪問類的私有成員,但不是類的成

原创 c和c++的區別

c是面向過程的,數據與算法分開。它的重點在於算法和數據結構。側重於計算機底層操作。 c++是面向對象的,主要特點是類,封裝和繼承。與C的區別主要爲 :類、繼承和多重繼承、運算符重載、類模板、C++標準庫、模板庫。 c

原创 C++函數重載

1.C與C++函數對比: 返回值: C語言函數缺省返回值,默認爲int。 C++不支持函數返回值缺省,如果一個函數沒有返回值則必須指定爲void。 參數列表: 在C語言中,函數沒有指定參數列表時,默認可以接收任意多

原创 git的使用

git clone 下載的鏈接 (將文件下載下來) git init 初始化本地當前目錄的git倉庫 git add -A 增加目錄中所有的文件到緩存區 git add 文件 增加相應文件到緩存區 git commit 將