2017-11-16 1 views
0

私は、不明なサイズの配列をとる関数を作成しました。 次に、その関数を呼び出して、特定のサイズの配列を渡して、配列内で渡された要素の数を取得したいとします。私はstd :: vectorを使うべきですか?

これはすべて、配列の要素数を得ることを除いて、それを簡単に計算する方法ではないようです。だから、私はそれがすべてのために代わりにstd :: vectorを使うのが正しいのだろうかと思っていたのですか?唯一の問題は、std :: vectorが提供する追加の機能は必要ないため、ちょっと無駄に感じることです。

だから私はそれが価値があるのか​​、それとも私がやりたいことをやるための別の「より良い」方法があるのだろうかと思っていましたか?

+3

はい、はいとはい。あなたは追加機能のために何もお金を払わない。それはすべて無料です。 – Galik

+0

なぜstd :: vectorを使用していない可能性がありますか? std :: vectorを使用します。 –

+0

私は 'std :: array'のような用語配列、C++の意味での配列、または他の定義を使用しているのだろうかと思います。それは大きな違いになります。 –

答えて

3

もちろん、これにはstd::vectorを使用する必要があります。 「追加機能」はすべて無料です。 A std::vectorテンプレートクラスなので、使用しない関数を作成することさえありません。また、関数は簡単でインラインであるため、関数呼び出しも生成されません。コンパイラはすべてを取り除き、生成されたコードは組み込みの動的配列を手作業で記述した場合とほぼ同じになります。

関連する問題