« 2013年3月 | トップページ | 2013年6月 »

2013年5月の2件の記事

2013-05-16

vectorのクリア

std::vector<int> integer_vec;
for (int i = 0; i < 100; ++i)
{
integer_vec.push_back(i) ;
}

というような、要素100の配列をクリアするにはcapacityをクリアするために、空のvectorとswapする。

std::vector<int>().swap(integer_vec);

要素数がわかっている別のデータで要素で上書きしたい時には、push_backすると再配置が発生するので、先に要素数を渡してやる。

std::vector<int>(10).swap(integer_vec);
for (unsigned int i = 0; i < integer_vec.size(); ++i)
{
integer_vec[i] = i * 2;
}

| | コメント (0) | トラックバック (0)

関数ポインタ配列

void func1(const int i);
void func2(const int i);
void func3(const int i);
void func4(const int i);
void func5(const int i);

みたいな整数型の引数をひとつ取るvoid型の関数のポインタを配列にする。

void (*funcs[5])(const int) =
{
&func1,
&func2,
&func3,
&func4,
&func5
};

for (int i = 0; i < 5; ++i)
{
func[i]( i );
}

とすれば、func1からfunc5までを実行する。

| | コメント (0) | トラックバック (0)

« 2013年3月 | トップページ | 2013年6月 »