freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

cnet程序設(shè)計(jì)(上)(參考版)

2025-02-16 07:13本頁面
  

【正文】 – 不能建立引用數(shù)組,可以建立數(shù)組元素的引用 ? int a。*ra=a。rp=p。 ? int *p。 – 可以有指針變量的引用,不能有指向引用的指針 ? int amp。必須用一個(gè) T類型的變量或?qū)ο螅蚰軌蜣D(zhuǎn)換為 T類型的對(duì)象進(jìn)行初始化 ? double amp。rnum。 //p是指向 num的指針,非引用; ? int *rp=rnum。 ? int *p=amp。 ? int amp。k // error ? r=k。r=i。 } 引用( Reference) 使用引用應(yīng)該注意的事情 – 引用不是值,不占用存儲(chǔ)空間 – 引用在聲明時(shí)必須初始化,否則會(huì)產(chǎn)生編譯錯(cuò)誤 – 引用的初始值可以是一個(gè)變量或另一個(gè)引用 – 引用可以視為“隱式指針”,但不分配存儲(chǔ)空間 – 引用由 類型標(biāo)準(zhǔn)符和一個(gè)取地址操作符來定義 ,必須被初始化,且不可重新賦值 ? int i,k。 coutir的地址是: amp。 couti 的地址是: amp。 i=12。 ir=20。 ir=i。 // include void main(){ int i=9。 ir = i。 i。ir=i。 – 例如: int i=9。 – 定義引用: 類型 amp。 – sizeof( )被改為 sizeof 引用( Reference) 概念 – “引用”即“別名”,即是某對(duì)象的另一個(gè)名字,引用的主要用途是為了描述函數(shù)的參數(shù)和返回值。 – new可以對(duì)分配的內(nèi)存進(jìn)行初始化。 //錯(cuò)誤,只釋放了 p3指向數(shù)組的第 1個(gè)元素 delete []p3。 //釋放 p1指向的內(nèi)存 delete p2。p3[1] value: p3[1]endl。 coutp3[0] address: p3 value: *p3endl。 coutp1 address: p1 value: *p1endl。 p3[1]=2。 //分配能夠存放 10個(gè)整數(shù)的數(shù)組區(qū)域 *p1=5。 //分配一個(gè)能夠存放 int類型數(shù)據(jù)的內(nèi)存區(qū)域 p2=new int(10)。 // include void main(){ int *p1,*p2,*p3。 – 用法 2: delete [ ]p。 – 用法 3: p=new type[n]。 new 和 delete C++動(dòng)態(tài)內(nèi)存分可由 new,delete運(yùn)算符完成 ? New用于從內(nèi)存中分配指定大小的內(nèi)存 – 用法 1: p=new type。 在 C語言中,動(dòng)態(tài)內(nèi)存分配用 mallc和 free函數(shù)完成 int * ip = (int*) malloc (sizeof (int) * 100)。另一種用途就是從函數(shù)返回一個(gè)無類型的對(duì)象,在使用時(shí)再將它顯式轉(zhuǎn)換成適當(dāng)?shù)念愋?。它是能夠接受任何?shù)據(jù)類型的特殊指針。 相同類型 的指針進(jìn)行 比較 或 相互賦值 才有意義。 =*cpic。 =amp。 8. cpi=pic。 7. pic=amp。ic。ic。ic。 2. const int ic=i。 const int *const cpic。 const int *pic。 指針 與 const 與 const 練習(xí) 下面的聲明中,哪些是錯(cuò)誤的? int i。 *ptr=23。 ptr=amp。minWage。 const double minWage=。minWage。 const double minWage=。 //error ,不能修改所指對(duì)象 ai=39。ai。ai。ci。 int ai=8。 } 指針 與 const 指向常量的常指針 – 可以定義一個(gè)指向常量的常指針變量,它必須在定義時(shí)進(jìn)行初始化。 *pi=38。 coutpiendl。 cout*pcendl。b。 //error int b=28。 //ok, L6 // pc++=39。 //ok, L5 *(pc+1)=39。a39。 //error,指針常量不能改變其指針值 (pc不能改變 ) //*pc=a 。//定義指針常量,在定義時(shí)必須初始化 char* const pc=x。 void main() { char x[5]=baaa。b39。 。 //error, pi不能變 ,但它所指的內(nèi)存單卻可以改變 ,此處卻將它指向了一個(gè)不可變的內(nèi)存單元 ,即 : //不能將 const in * 轉(zhuǎn)換成 int * ? 在上面的例子中 ,下面的語句會(huì)產(chǎn)生運(yùn)行錯(cuò)誤 . ? *pc=39。 int * const pi=amp。 //ok,在 VC環(huán)境下產(chǎn)生運(yùn)行錯(cuò)誤 pc++=?y?。 //error, 指針常量不能改變其指針值 *pc=“a //err,所指的內(nèi)容可改 *pc=?a?。例如: char * const pc=“aaaa”。 coutbendl。 char b[20]。 //ok *p是常量,但通過修改C的值而使 *p發(fā)生了變化,這種用法就有問題了, 指針 與 const – 例題 :限制函數(shù)修改參數(shù) // include void mystrcpy(char * Dest,const char *Src) { while(*Dest++=*Src++)。 //ok *pi=88。 //error pi=amp。b。 //定義指向常量的指針 *pi=58。 const int *pi=amp。 const int b=28。 } icp是一個(gè)常量地址 ,此處企圖修改它 指針 與 const 指向常量的指針 – 在指針定義前加 const,表示指向的對(duì)象是常量。 cout*ip=*ipendl。 couti=iendl。j。 i。 ic。 const int ic = 100。c *P為常量,即此內(nèi)存的值不能修改 指針與 const 限制變量、參數(shù)的訪問, 避免非本意的數(shù)據(jù)修改 舉例 includeiostream using namespace std。c Int const *p =amp。 f=0。比如,對(duì)于前面的指針定義,以下賦值是正確的: pc=0??梢园?賦值給不同類型的變量。 // pA是指向 int的指針數(shù)組 int (*f)(int,char)。 // pi是指向 int的指針 int **pc。c *P 內(nèi)存 指針 概念的回顧 – 指針是一個(gè)復(fù)雜的概念,它能夠指向(保存)不同類型變量的內(nèi)存地址。c。 c=?a?。 ? 靜態(tài)變量的分配和釋放由編譯器自動(dòng)處理,動(dòng)態(tài)變量的分配與釋放必須由程序員控制。 指針 ?本節(jié)主要介紹 C++的指針及C++動(dòng)態(tài)內(nèi)存分配運(yùn)算符和回收運(yùn)算符 new、 delete ?指針與常量 之間的關(guān)系,及0指針 和 void指針 指針 概念的回顧 C++內(nèi)存分配 – 靜態(tài)分配(靜態(tài)變量) ? 編譯器在處理源代碼時(shí)為變量分配內(nèi)存,其效率較高,但缺少靈活性(要求程序執(zhí)行之前就知道變量所需的內(nèi)存類型和數(shù)量) – 動(dòng)態(tài)分配(動(dòng)態(tài)變量) ? 程序執(zhí)行時(shí)調(diào)用運(yùn)行時(shí)刻庫函數(shù)來分配變量的內(nèi)存。 – 兩者的區(qū)別 ? 靜態(tài)變量是有名字的變量,可以通過名字對(duì)它所代表的內(nèi)存進(jìn)行操作;動(dòng)態(tài)變量是沒有名字的內(nèi)存變量,只能通過指針進(jìn)行操作。 std::cinxx。 – 、例如: std::coutnot use using……std::endl。 } 命名 空間 – using namespace std會(huì)將 std名字空間中的標(biāo)志符都引入到程序中,如果只需用到std名字空間中的個(gè)別標(biāo)志符,可以在要使用的標(biāo)志符前面加上前綴 std::,不必用“ using namespace std。 //cin、 cout來源于 iostream couti=iendl。 //scanf、 printf來源于 cstdio printf(i=%d\n,i)。 //調(diào)用 cmath庫中的 sin函數(shù) scanf(%d,amp。 //字符串賦值,不需要 strcpy函數(shù) int i。 void main(){ string s1=ddd,s2。 命名 空間 【 例 35】 標(biāo)準(zhǔn) C++程序設(shè)計(jì)的簡(jiǎn)單程序。 如果程序要引用標(biāo)準(zhǔn) C++新格式頭文件中的函數(shù) , 就需要在程序中使用下面的語句將 std名字空間中的名稱引入到全局名字空間中 。 標(biāo)準(zhǔn) C++將新格式頭文件中的內(nèi)容全部放到了 std名字空間中 。 例如 , 傳統(tǒng) C++的頭文件有 、 、 ;標(biāo)準(zhǔn) C++ 對(duì)應(yīng)的頭文件有iostream、 fstream、 string。 – 兩種版本的 C++有大量相同的庫和函數(shù) 。 t()。 B::f()。 A::n=0。 void main(){ using namespace A。 } void t(){ coutnamespace B::t()endl。 namespace B{ int n。 } void g(){ coutnamespace A::g()endl。 namespace A{ int n。 } 命名 空間 【 例 34】 名字空間的應(yīng)用舉例。 count=5。 //L1 int count=9。 //L4 } 命名 空間 ② 引入名字空間的全部成員。 //L2 //int count=9。用法如下: using namespace_name::identifier 例如,用 using簡(jiǎn)化 ABC名字空間中 count的使用: void main(){ using ABC::count。 int x=ABC::min(4,5)。 //main函數(shù)中的 count與 ABC中的 count無關(guān) ABC::student s。對(duì)其引用如下: void main(){ ABC::count=1。 int ABC::min(int a,int b){ return ab?a:b。} inline int min(int a,int b)。 int age。 typedef float house_price。 } 其中, namespace是定義名字空間的 關(guān)鍵字 ;namespace_name是程序員指定的名字空間的名字;merbers 是名字空間中包括的 成員 ,可以是變量定義、函數(shù)聲明、函數(shù)定義、結(jié)構(gòu)聲明,以及類的聲明等。 – 這些問題導(dǎo)致名字空間的運(yùn)用: 即程序員可以將自己定義的名字局限在一個(gè)自定義的名字空間中,就不會(huì)與其它人定義的名字沖突 。 – 在編程中可能定義出系統(tǒng)已存在的變量、函數(shù)或類名稱,產(chǎn)生沖突。 //L2 const int i1=10+k+6。 int j,k=9。 //錯(cuò)誤,常量 n未被初始化 ? ③ 在 C++中,表達(dá)式可以出現(xiàn)在常量定義語句中。 // 錯(cuò)誤,修改常量 i++。 const常量 ? 常量說明 ? ① 常量一經(jīng)定義就不能修改,例如: const int i = 5。 – union – enum 局部變量說明 ? C局部變量的定義 – 在語句塊內(nèi)可執(zhí)行語句之前 ? C++局部變量的定義 – 可在語句塊內(nèi)任何語句可以出現(xiàn)的地方 – 但不能被 goto及類似語句跳過 ? 好處 – 方便:使用時(shí)才定義 – 易讀:類型信息就近獲取 const常量 ? 常量定義 – C ? define 常量名稱 常量 – C++ ? const 類型 常量名稱 = 常量 。 – C++:結(jié)構(gòu)名、聯(lián)合名為類型 struct {……} struct_name。 struct some_struct struct_var。 } ()。 std
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1