C++ Tips

 想到一些東西記下來,避免忘了。。

-------------------------------1----------------------------------
 
  1. int a[2][4]; 
  2. int (*p)[4]=a; 
此時p是行指針,相當與a的一個別名。
-------------------------------------------------------
在c++中引用這個特性中,也有類似的用法。
 
  1. int (&p)[4]=a; 
但請注意,此時的a不再是二維數組而是一維數組:
  1. int a[4];                           //2011-12-18 23:03:06   
               
--------------------------2------------------------------
 
  1. int *p=new int(); 
  2. cout<<*p<<endl; 
  3. delete p; 
進行了初始化,*p=0;
注:vc6.0不符合標準
                            //2011年12月19日 17:30:13
--------------------3---------------------------
 
返回引用的函數返回一個左值
 
  1. #include<stdio.h> 
  2. int & change(int (&a)[5]) 
  3. return a[0]; 
  4. void main() 
  5. int a[5]; 
  6. change(a)=5; 
  7. printf("%d\n",a[0]); 
輸出: 5
------------4---------------------
默認實參
 
  1. void a(int b=3) 
  2. printf("%d\n",b); 
  3. void main() 
  4. a(); 
  5. a(1); 
輸出:
3
1
//2011年12月19日 22:44:09
------------5-----------------------------------
  1. #include <iostream>  
  2. using namespace std;  
  3. class addtest  
  4. {     
  5. public:  
  6.     static int data;  
  7.     void add()   
  8.     {  
  9.         data=1;  
  10.     }  
  11.     addtest()  
  12.     {  
  13.         data=0;  
  14.     }  
  15.     static void print()  
  16.     {  
  17.         cout<<"hello world"<<endl;  
  18.     }  
  19. };  
  20. int addtest::data=0; //真正定義。  
  21. class addtestb :public addtest  
  22. {  
  23. };  
  24. void main()  
  25. {  
  26.     addtest a,c;  
  27.     addtestb b;  
  28.     a.data++;  
  29.     b.data++;  
  30.     c.data++;  
  31.     cout<<a.data<<endl;  
  32.     addtest::print();  
  33.     //addtest::add(); //error  
  34. }  

 輸出 3        //2011年12月29日 23:28:39

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章