-
const在*之后為錯位寫法
查看全部 -
1.有默認參數(shù)值的參數(shù)必須在參數(shù)表的最右端
2.申明時可以加默認值,定義時不加默認值
3.無實參則用默認值,否則用實參
函數(shù)重載:
在相同作用域內(nèi)a.同一函數(shù)名定義的多個函數(shù);b.參數(shù)個數(shù)或者參數(shù)類型不同
內(nèi)聯(lián)函數(shù):inline
????1.編譯時將函數(shù)體代碼和實參代替函數(shù)調(diào)用語句
? ? 2.內(nèi)聯(lián)編譯是建議性的,由編譯器決定
????3.邏輯簡單,調(diào)用頻繁的函數(shù)建議用內(nèi)聯(lián)
????4.遞歸函數(shù)無法使用內(nèi)聯(lián)
查看全部 -
int *p=new int[10];
if(p==NULL)
{
//申請失敗
}
delete []p;
p=NULL;
查看全部 -
int a =3 ;
const int *q =&a;
這里的話*q是為const,不能動
const int a = 3;
int *q=&a; //這樣定義是錯的,因為a是常量了,你這里*q還都是變量,q也是變量,完全不對。
查看全部 -
int x = 3;
const int *y = &x;
這里y就是x的地址,*y就等于3
查看全部 -
int x =3;
const int &y = x;
這里const修飾的是y,也就是x的別名,y不能賦值,但是x可以賦值。
查看全部 -
const int *p 這里的const修飾的是*p,所以*p不能變了
int *const p 這里的const修飾的的p,所以p不能變了
const int *const p 那么這里*p和p都不能變。
查看全部 -
指針引用別名
int a =10;
int *p = &a;
int *&q = p; // q為p的別名
那么*q=*p=a
查看全部 -
內(nèi)存的申請內(nèi)存 new
內(nèi)存的釋放內(nèi)存 delete
方法:
申請內(nèi)存 int *p = new int;
釋放內(nèi)存 delete p;
申請內(nèi)存需要判斷是否成功,釋放內(nèi)存需要設(shè)空指針,不設(shè)置為空,會使得同一塊內(nèi)存重復(fù)回收。
new 和 delete 配套使用
查看全部 -
1.函數(shù)參數(shù)默認值????(實參覆蓋默認值)
void fun(int i,int j=5,int k=10);????
有默認參數(shù)值的參數(shù)必須在參數(shù)表的最右端。
聲明時可帶默認值,定義時不用。
無實參則用默認值,否則實參覆蓋默認值。
2.函數(shù)重載 (名稱相同且參數(shù)可辨)
在相同作用域內(nèi),用同一函數(shù)名定義的多個函數(shù),參數(shù)個數(shù)和參數(shù)類型不同的稱為函數(shù)重載。
?
3.內(nèi)聯(lián)函數(shù)、關(guān)鍵字:inline、(效率高、有條件:邏輯簡單,不能是遞歸函數(shù))
編譯時將函數(shù)體代碼和實參代替函數(shù)調(diào)用語句。
遞歸函數(shù)無法使用內(nèi)聯(lián)方式。
查看全部 -
int *&q = p;????????//&引用符號
查看全部 -
指針別名的使用?
int a = 3;
int *p = &a;????//指針P指向a的地址;
int *&q = p;????//指針p的別名 q
函數(shù)參數(shù)使用引用的情況
???????void fun(int &a,int &b)????//交換AB的值
{
????int c = 0;
????a = b;
????b = c;
}
查看全部 -
參數(shù)默認值一定在最右端。
查看全部 -
指針指向const修飾的變量時,應(yīng)該是const int const *p = &a;
查看全部 -
const int x = 3;
x的存儲地址是&x,x的值是3不可改變。
int x = 3;????const int *p = &x;
x的存儲地址是&x,x的值是3可以改變。
p的存儲地址是&p,p的值是&x可以改變。
*p指代x的值,*p是不能更改值的,可以通過x=4更改值,不可通過*p=4更改值。
int x = 3;????int *const p = &x;
x的存儲地址是&x,x的值是3可以改變。
p的存儲地址是&p,p的值是&x不可改變。
*p指代x的值,*p=4可以更改值,x的值也將更改為4。
int x = 3;????const int *const p = &x;
x的存儲地址是&x,不給x定義const的情況下,x的值3仍然是可以改變的。
p的存儲地址是&p,p的值是&x不可改變。
*p指代x的值,*p是不能更改值的。
int x = 3;????const int &y = x;
x的存儲地址是&x,x的值是3可以改變。
y的存儲地址是&x,y的值是3不可改變。
查看全部
舉報