指針形參與引用形參的區別
函數的形參爲指針時,此時將複製實參指針,但是該類形參的改變僅僅作用於局部副本。如果函數將新指針值賦給形參,主調函數使用的實參指針的值沒有改變。
引用形參直接關聯到其所綁定的對象。定義引用時,必須用與該引用綁定的對象初始化該引用。
計算數組元素之和的程序
方法一:將第二個形參定義爲數組大小
#include <iostream>
using namespace std;
void add(const int ia[],size_t size)
{
int sum=0;
for (size_t i=0;i!=size;++i){
sum+=ia[i];
}
cout<<sum<<endl;
}
int main()
{
int j[5]={0,1,3,2,4};
add(j,sizeof(j)/sizeof(*j));
return 0;
}
方法二:傳遞指向數組元素第一個和最後一個元素的下一個位置的指針
#include <iostream>
using namespace std;
void add(const int *beg,const int *end)
{
int sum=0;
while (beg!=end){
sum+=*beg++;
}
cout<<sum<<endl;
}
int main()
{
int j[5]={0,1,3,2,4};
add(j,j+5);
return 0;
}