-
塊內(nèi)存:申請10個整型
查看全部 -
函數(shù)內(nèi)聯(lián)只是一種編譯方式,建議性編譯語言,在運行結(jié)果上并沒有什么不同。
查看全部 -
完全等價。。
查看全部 -
xing can &a &b
shi can x y
查看全部 -
cout<<c.x<<","<<c.y<<endl;
查看全部 -
不能有for while循環(huán)
查看全部 -
內(nèi)聯(lián)函數(shù):
查看全部 -
聲明寫默認(rèn)值,定義不寫默認(rèn)值,所有編譯器都可通過;
如定義寫默認(rèn)值有些編譯器不通過
查看全部 -
函數(shù)參數(shù)默認(rèn)值設(shè)置:
查看全部 -
取址運算符
&
用來取得其操作數(shù)的地址。float x, *ptr;
ptr = &x; ? ? ? ? ? // 合法:使得指針ptr指向x
ptr = &(x+1); ? ? ? // 錯誤: (x+1) 不是一個左值
相反地,當(dāng)已具有一個指針,并且希望獲取它所引用的對象時,使用間接運算符 *(indirection operator),有時候這會被稱為解引用運算符(dereferencing operator)。它的操作數(shù)必須是指針類型。如果 ptr 是指針,那么 *ptr 就是 ptr 所指向的對象或函數(shù)。
float x, *ptr = &x;
*ptr = 1.7; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 將1.7賦值給變量x
++(*ptr); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?// 并將變量x的值加1
像其他一元操作數(shù)一樣,運算符 & 和 * 具有很高的優(yōu)先級。操作數(shù)的組合方式是從右到左。因此,表達(dá)式 ++(*ptr)中的括號是沒有必要的。
運算符 & 和 * 是互補(bǔ)的:如果 x 是一個表達(dá)式,用于指定一個對象或一個函數(shù),那么表達(dá)式 *&x 就等于 x。相反地,在形如 &*ptr 的表達(dá)式中,這些運算符會互相抵消,表達(dá)式的類型與值等效于 ptr。然而,不管 ptr 是不是左值,&*ptr 都一定不會是左值。查看全部 -
第一種指針可變,相當(dāng)于可讀可寫,值不變,相當(dāng)于只讀,將可讀可寫的指針指向不可寫的值,風(fēng)險大(權(quán)限小的寫到權(quán)限大的);
第二種指針不變,相當(dāng)于只讀,值可變,可讀可寫,將不變的指針指向變量是可以的(權(quán)限大的寫成權(quán)限小的)。
查看全部 -
內(nèi)存塊的申請與釋放:
int *arr=new int[10];//申請塊內(nèi)存
delete []arr;//釋放塊內(nèi)存
注意:
內(nèi)存申請不一定成功,要判斷是否成功,釋放內(nèi)存時要設(shè)空指針
查看全部 -
內(nèi)存的申請與釋放
查看全部 -
內(nèi)聯(lián)函數(shù)為建議性的,實際由編譯器決定
查看全部 -
內(nèi)聯(lián)函數(shù)與普通函數(shù)的區(qū)別
查看全部
舉報