C++????些?锟�?const?梅??????
???????????? ???????[ 2014/6/10 11:30:03 ] ????????C++ net
?????????????????????校???????? this ???????????????????????????????????????????????CPU????????????this???????????????????????????????????????????????????????????????胁??????????this?????? const??????????????????????????????????????????????????????????????
?????????const?????????this?????????const????????????const???????????????this???????????const?????const???
????mutable ???畏????const??????????????些??????????????????????????????????????????????魏??????????
??????? const ????????????const???????????????????????????????????? const ???危????????????????????????const?????const?????????浠�??????????????this????????const?????const????????????????this?????????????const?????????????????????????????械??谩??? const ???????????this??????? ???const?????const????????????????谩?
???????const????
?????????????尾???const???????????????????????????????????????????????????????????
????1??const????
????2?????const????????
????3????const?????????
????4????????????const????
??????????????const??????尾危?????????const?????????????魏????澹�????????????????????????????????????????浠�???
?????????const?????????this?????????const????????????const???????????????this???????????const?????const???
????mutable ???畏????const??????????????些??????????????????????????????????????????????魏??????????
??????? const ????????????const???????????????????????????????????? const ???危????????????????????????const?????const?????????浠�??????????????this????????const?????const????????????????this?????????????const?????????????????????????????械??谩??? const ???????????this??????? ???const?????const????????????????谩?
???????const????
?????????????尾???const???????????????????????????????????????????????????????????
????1??const????
????2?????const????????
????3????const?????????
????4????????????const????
??????????????const??????尾危?????????const?????????????魏????澹�????????????????????????????????????????浠�???
1 int main(void)
2 {
3 int var = 42;
4 fun(var);
5 cout << var << endl; // print 42
6 return 0;
7 }
8 void fun( int i)
9 {
10 i = 10;
11 }
|
????????????????????????????????????写??????????????const?????????????蔚?????
????????????????????????????????????????尾????????蔚??????????????????谓??斜???????????????????????尾?????const????????????谩?
????????????????????????????????????????尾????????蔚??????????????????谓??斜???????????????????????尾?????const????????????谩?
1 void fun( const int* p)
2 {
3 *p = 42; // error
4 int var = 10;
5 p = &var; // ??????p??????
6 }
7 void fun(const int& p)
8 {
9 p = 42; // error??p????????const?????????
10 }
|
?????械??????????????????????????const??????????????????????????????????????????*???????
????1 class Rational{
????2 // ....
????3 };
????4 const Rational operator* (const Rational& lhs?? const Rational& rhs);
????5 Rational a?? b?? c;
????6 a*b = c; // Error????????????const????
??????????????????????????????????const???????a*b=c?????????????????????????????????????????????违????????????????????????????????????????????????
????1 class Rational{
????2 // ....
????3 };
????4 const Rational operator* (const Rational& lhs?? const Rational& rhs);
????5 Rational a?? b?? c;
????6 a*b = c; // Error????????????const????
??????????????????????????????????const???????a*b=c?????????????????????????????????????????????违????????????????????????????????????????????????
???????????????????????婕�???????????????????SPASVO小??(021-61079698-8054)?????????????????????????