1.內斂函式在函式的宣告和定義前面都要加上關鍵字「inline」
2.內聯函式是c++為提高程式執行速度所做的一項改進,與常規函式區別在於c++編譯器如何將它組合到程式中,
所謂的的「內聯」是編譯器將使用相應的函式**來替換函式呼叫,程式無需跳轉到另乙個位置執行**,再跳回來。所以速度比常規函式稍快,但是代價是需要占用更多的記憶體。如果程式在x個不同的地方呼叫同乙個內聯函式,則程式將包含該函式**的x個副本。下圖是常規函式與內聯函式呼叫區別。
3.應該有選擇的使用內斂函式,如果函式的執行時間比處理函式呼叫機制的時間長很多,那麼使用內斂函式節約的時間將很小。
4.內斂與巨集,c中使用的巨集(#define)是內聯**的原始實現,但是不是通過傳遞引數來實現的,而是通過文字替換
//定義內聯函式
inline double square(double x)
//定義巨集
#define square(x) ((x)*(x))
int main(void)
1.宣告引用的時候,使用「&」,&不是位址運算子,而是型別識別符號
int a=10;
int & b=a;
b++; // b=11,a=11
2.引用看上去很像偽裝表示的指標,但是還是有區別
1)引用必須在宣告的時候將其初始化,而不能像指標那樣先宣告,後賦值
2)引用一旦和乙個變數關聯起來,就將一直效忠於他(類似 const指標)
int a=10;
int & b=10;
int c=20;
b=c; //is similar as a=c , value is a=20,c=20,
3)引用常作為函式的引數使用(特別是引數為乙個類的時候),使得被呼叫函式可以訪問呼叫函式中的引數,並且效率比按值傳遞高。
#include using namespace std;int version1(const int & x,const int & y)
int & version2(int & x,const int & y)
const int & version3(const int & x,const int & y)
int main()
int main()
{ int a=10;
square(a)=10;
cout<1.當函式呼叫中省略了實參時自動使用的乙個值
2.當要為某個引數設定預設值的時候,必須為他右邊所有的引數提供預設引數
1.可以允許多個同名的函式,條件是特徵標不一樣,(特徵標是指引數的數目,型別和順序)
2.c++會自動進行匹配,如果匹配不上,嘗試強制轉換型別進行匹配。
C 函式特性
1.函式引數預設值 比較兩個函式預設值的正確性 void fun int i,int j 5,int k 10 正確 void fun int i,int j 5,int k 錯誤 有函式引數值的引數必須在引數列表的最右端!2.使用時的一些注意事項 為了避免某些編譯器不通過,建議在宣告時給函式加預設...
C 函式特性
1 函式引數預設值 void fun int i,int j 2,int k 3 void fun int i,int j 2,int k 有預設引數值的引數必須在參數列的最右端 fun 10 實際傳入10 fun 10,20 實際傳入10,20,不是10,2 fun 10,20,30 實際傳入10...
C函式引數特性
編寫日期 2012.5.22 前言 c語言,是函式構成的語言,c離不開函式,函式對於c的存在有著決定性的作用。那麼,函式引數對於c的重要性也就可想而知了。下面我就談談c函式引數的一些性質。引數特性簡介 特點一 函式引數的傳遞順序。例項一 void func int id1 int id2 void ...