2017年5月31日 星期三

c++ const教學


想必很多人在研究C++語言時,常遇到const這個東東吧XD,表面上看似複雜,其實不難,以下就讓我來一一道來吧!


const就是constant的縮寫,在C++裡面代表用這個方式表示的資料無法用這個方式修改,聽起來很抽象,就讓我用實例來展示吧


1. 出現在常數時:


const int c=100;
其實和 #define c 100 功能一樣,一但做出如此宣告,若之後想要改變c的值,就會compile error


2. 出現在參照時:
int b=100;
const int &a=b;


如果這時候我們想用a去改變b,比如說 a=150,會compile error,因為我們已經固定參照了!
但如果我們直接改b,則是被允許的! 比如說b=200,編譯會過


3. 出現在指標時:
int b=100;
const int *a=&b;
和參照時一樣,我們不能透過這個指標去改變b的值,只能直接用b改


4. 出現在STL iterator 時:
vector <int> v;
v.push_back(1);
v.push_back(2);
vector<int> const_iterator p;
for(p=v.begin();p!=v.end();p++)
     cout<<*p;
此處一樣,我們不能透過iterator去修改vector元素的值


這次的整理就到這,是不是很簡單啊XD


參考資料:
1. edx
2. MSDN

沒有留言:

張貼留言