c++ const 修飾數組


 

//直接聲明為 int a[], 這樣會允許函數內部對a[] 進行修改

void showTheWorld( int a[], int sizeOfa) {
for ( int i = 0; i < sizeOfa; i++)
cout << a[i] << " ";
cout << endl;
}

如果 聲明為const int a[], C++就不允許函數內部在對a[] ,進行修改了

void showTheWorld( const int a[], int sizeOfa)
{
cout << "The array contains the following values:\n";
for ( int i = 0; i < sizeOfa; a[i]++) // a[i]++ 會改變a[] l里面的每個項加1;因為聲明了const int  a[] ,這樣編譯器就會報錯
cout << a[i] << " ";
cout << endl;
}

double computeAverage( int a[], int numberUsed); //聲明一個參數 int a[] 不為const,

void showDifference( const int a[], int numberUsed)
{
double average = computeAverage(a, numberUsed); //調用computeAverage,編譯器會認為computeAverage會改變a[] 數組,這與showDifference參數矛盾,報錯
for ( int index = 0; index < numberUsed; index++)
cout << a[index] << " differs from average by "
<< (a[index] – average) << endl;
}//computeAverage 應該定義成

double computeAverage(  const  int a[], int numberUsed);

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM