c++面对对象设计 2
第二節
reference引用
?
int max;
int &refmax= max;(refmax是引用的符號)
?
不能重復使用,可以引用引用,
?
也可以引用一個指針(地址)
int a, *p;
int &m = a;
p = &m; //&m前面有類型符號時,如int,表引用說明;如果沒有則是取變量地址
*p = 10;
?
如果聲明一個常量const引用,不可以直接改變引用值,但可以改變被引用的數的值
?
不能建立void引用,不能建立引用的數組,不能建立指向引用的指針int & *p(指向引用的指針可以使用)
?
用途:主要用來作函數的參數或者函數的返回值
void swap(int &a, int &b)
{
int temp;
temp = a; a= b; b= temp;}
int main…
int i,j;
…
swap(i.j);
…結果是i,j交換值
?
引用和指針變量作為行參的區別
1引用作為形參,實參是變量值;指針作為。。。是地址
?
函數引用:
例1,
int &f(int x)
{
a=a+x;//a為全局變量或者靜態局部變量static int a = 4;
return a;
}
//函數返回a的引用(f(t) = 20//可以將數值賦給返回的引用a,只有引用才能這樣用)
?
?
內聯函數
關鍵字inline必須與函數定義體放一起才能使函數稱為內聯函數,放在函數聲明前面不起作用
?
函數體內出現循環或者遞歸等復雜的結構控制語句時,不適合定義為內聯函數
?
作用域運算符
float a=13.5
int main..
int a = 3;
cout << a..
cout << ::a
//a是局部變量的a,::a是全局變量的a
?
字符串變量
string = string2;
字符串的賦值不用考慮長度
可以對字符串變量中的某一字符進行操作 string2[2] = ‘a’
字符串以“/0”結尾,但不包含/0
=+。。。
?
字符串數組string name[3] = {“Zhang”,“Li”,“Wang”};
?
動態分配/撤銷內存new/delete
<指針名> = new <類型名>(<數值>)/[<數量>]
delete <指針名>
delete {}<指針名>//釋放一定數量的空間
轉載于:https://www.cnblogs.com/xdlyy/p/4829464.html
總結
以上是生活随笔為你收集整理的c++面对对象设计 2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用Git进行代码管理的心得
- 下一篇: 分享 - Social.framewor