後台開發核心技術與應用實踐讀書筆記(一)

2021-09-19 14:51:23 字數 2163 閱讀 8880

#include<>與#include」 「

後者搜尋當前目錄,在搜尋標準目錄

#include與#include

兩者是不同的,前者是c++標準為了與c語言區別開,也為了正確的命名空間,規定的標頭檔案不帶.h;

函式的定義

函式過載

c++允許同乙個函式名定義多個函式,但必須引數型別不同與引數個數不同。

函式模板

建立乙個通用函式,函式型別與具體形參不指出

陣列的定義

相同型別的集合,位址是連續的

字元陣列

strlen與sizeof的區別

指標概念

通過位址能找到所需的變數的單元,位址指向變數單元,因此將其形象化為指標,注意區分變數指標指標變數

陣列和指標

陣列指標也成為行指標

指標陣列不同於陣列指標(優先順序,第乙個是()第二個是)

陣列指標int(*p)[n]:指向一維陣列的指標,也稱行指標,專門用來指向二維陣列

指標陣列int*p[n]:不能p=a,可以*p=a賦值這裡*p表示指標陣列第乙個元素的值,a的首位址的值

字串和指標

引用是什麼

變數的別名,必須初始化,之後不允許改變

引用做引數

記憶體中不會產生實參的副本,而是直接對實參進行操作,因此傳參效率最高,所佔空間最小

常引用既要提高效率又要使得傳遞的引數不會在函式中改變

概念結構體

共用體

#include

using

namespace std;

union test

intmain()

列舉

實際生活中,變數的取值限制在乙個有線的範圍內(一周七天、一年十二個月),如果將這些量說明為基本型別不合適,因此就有了列舉。

注意

結構體、共用體內存單元位元組數計算

64位機器上各個資料型別所佔儲存空間

(1)char:8bit=1byte。

(2)short:16bit=2byte。

(3)int:32bit=4byte。

(4)long:64bit=8byte。

(5)float:32bit=4byte。

(6)double:64bit=8byte。

(7)long long:64bit=8byte。

其中,long型別在32位機器上只佔4byte,其他型別在32位機器和64位機器都是佔同樣的大小空間

記憶體計算規則

union以最長為準

struct各個成員變數都分配空間,且總的大小為結構體中最大的型別位元組數的倍數

​ c++提供的預處理功能有:巨集定義、檔案包含(之前已講)、條件編譯、布局控制。

巨集定義(進行簡單的替換)

替換文字是乙個表示式時,不加括號可能會發生錯誤:2+9 ->2+9*2+9

在帶引數的巨集定義的使用,也容易產生誤解:area(2+2)-> 2+2*2+2

do …while(0)

將一組語句包成乙個復合語句,以防預處理時被拆散

條件編譯

__cplusplus是c++預定義巨集,表示開發環境是c++

注意:c++語言為了支援函式過載,在編譯期間會對函式名稱進行一些處理,如加入引數型別和返回型別,而c語言中沒有這種現象,顧不支援函式過載

第 1 章 c++常用的程式設計技術

第 2 章 物件導向c++

第 3 章 常用的stl使用

第 4 章 編譯

第 5 章 除錯

第 6 章 tcp協議

第 7 章 網路io模型

第 8 章 網路分析工具

第 9 章 多執行緒

第 10 章 程序

第 11 章 程序間通訊

第 12 章 http協議

後台開發 核心技術與應用實踐

常用類庫 在c 中,臨時物件都是const型別的。可以使用union 聯合 判斷系統是大端 big endian 還是little endian 小端 只能把列舉賦值列舉變數,不能把元素的數值直接賦值列舉變數。共用體以最長的位元組為準,考慮記憶體對齊。結構體以內建型別的最小公倍數對齊。編譯階段 g ...

《後台開發核心技術與應用實踐》(一)

物件導向的c 後台開發核心技術與應用實踐 徐曉鑫 的學習筆記。後台開發技術能力體系,自省!後者先搜尋當前目錄,再搜尋標準頭檔案目錄 1 strlen 是函式,在執行時才能計算。引數必須是字元型指標 char 且必須是以 0 結尾的。當陣列名作為引數傳入時,實際上陣列已經退化為指標了。它的功能是返回字...

後台開發核心技術與應用實踐讀書筆記(四)

過程 預處理 編譯 彙編 鏈結 預處理 主要處理那些源 檔案只能夠的以 開始的預編譯指令。比如 include define 過濾所有注釋,新增行號,保留 pragma編譯器指令等,最後生成乙個.i檔案 編譯 編譯器掃瞄 詞法分析 語法分析 語義分析 源 優化 生成和目標 優化 生成.s檔案 彙編 ...