vector.size() の結果を int 型の変数に格納してもよろしいですか?
たとえば、次のような警告が表示されます。
int n = a.size();
これを行っても問題ありませんか:
int n = (int)a.size();
または、別の型の変数 n を使用する必要がありますか?
ありがとう
vector.size() の結果を int 型の変数に格納してもよろしいですか?
たとえば、次のような警告が表示されます。
int n = a.size();
これを行っても問題ありませんか:
int n = (int)a.size();
または、別の型の変数 n を使用する必要がありますか?
ありがとう
size()
の戻り値の型は、大きすぎて に格納できない値を簡単に持つことができるため、通常は問題ありませんint
。size()
その特定の の戻り値の型と同じ型の変数を使用する必要がありますvector
。これは、次の方法で簡単に実現できますauto
。
auto n = a.size();
C++11 をサポートしていない場合は、 を使用できvector
ますsize_type
。
std::vector<TheType>::size_type n = a.size();
はどこa
ですかstd::vector<TheType>
。
いいえ、大丈夫ではありません。使用する
std::vector<T>::size_type n = a.size();
または、あまり衒学的でない場合:
size_t n = a.size();