歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

C++函數參數小結

一、函數形參–指針參數和數組參數的區別


作為函數形參的數組和指針可以互換 
這種轉換僅限於函數形參的聲明
這是一種便利,傳遞時數組會蛻變為指針,事實上數組從來沒有傳入過函數。
例子:以下3個聲明是等價的
 void putValues(int *);
 void putValues(int[]);
 void putValues(int[10]);
備注:數組長度不是參數類型的一部分。函數和編譯器都不知道傳統給它的數組的長度的大小。

傳入指定長度數組的一種簡便方法

將參數聲明為數組的引用,此時,數組長度成為形參和實參的一部分。例如:void putValues( int (&arr)[10])

二、默認參數值


默認參數值是一種在大多數情況下都適用的值。
函數聲明可為全部或者部分參數提供默認值。
函數調用的實參按位置解析,默認參數只能用來替換函數調用缺少的尾部實參。
一個參數只能在一個文件裡被指定一次默認實參。函數後續的聲明中可以指定其他默認參數。可以在函數聲明和定義處定義默認參數值。
默認參數可以用任意表達式指定。
例如:

---------------------ff1.h-----------------------------

 intff(int a, int b,int c=0);

 

--------------------ff2.h------------------------------

 #include “ff1.h”

 intgetValue();

 intff(int a, int b =getValue(), c);


--------------------ff2.cpp------------------------------

 #include “ff2.h”

intff(int a=0, int b,int c)

{

}

Copyright © Linux教程網 All Rights Reserved