#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。其中,long型別在32位機器上只佔4byte,其他型別在32位機器和64位機器都是佔同樣的大小空間(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。
記憶體計算規則
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檔案 彙編 ...