2010年10月1日金曜日

ポインタを保持するvector


  1. #include <iostream>  
  2. #include <vector>  
  3. using namespace std;  
  4.   
  5. int main()  
  6. {  
  7.     int num = 5;  
  8.     vector<int*> v;  
  9.   
  10.     v.push_back(&num);  
  11.     cout << "num = " << num << endl;  
  12.     cout << "*v[0] = " << *v[0] << endl;  
  13.   
  14.     *v[0] = 15;  
  15.     cout << "num = " << num << endl;  
  16.     cout << "*v[0] = " << *v[0] << endl;  
  17.   
  18.     return 0;  
  19. }  
  20.   
  21. // execution result  
  22. /* 
  23. num = 5 
  24. *v[0] = 5 
  25. num = 15 
  26. *v[0] = 15 
  27.  
  28. */   
個人的なメモ.
jk当然可能.

28/01/11 追記
この方法はよく考えたらよくないですね.
スコープ外れてもdeleteしてくれないし・・・.
ごめんなさい.
boostのshared_ptrを使ったほうが良いですね.

0 件のコメント:

コメントを投稿