2010年10月1日金曜日

ポインタを保持するvector


#include <iostream>
#include <vector>
using namespace std;

int main()
{
    int num = 5;
    vector<int*> v;

    v.push_back(&num);
    cout << "num = " << num << endl;
    cout << "*v[0] = " << *v[0] << endl;

    *v[0] = 15;
    cout << "num = " << num << endl;
    cout << "*v[0] = " << *v[0] << endl;

    return 0;
}

// execution result
/*
num = 5
*v[0] = 5
num = 15
*v[0] = 15

*/ 

個人的なメモ.
jk当然可能.

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

0 件のコメント:

コメントを投稿