イテレータ条件の右辺オペランドをsize_t
からint
にキャストする方がよいか、または最大値の範囲を超える可能性があります。int
?回答の実装は具体的ですか?size_tからintにキャストするか、size_tを使用して繰り返しますか?
int a;
for (size_t i = 0; i < vect.size(); i++)
{
if (some_func((int)i))
{
a = (int)i;
}
}
int a;
for (int i = 0; i < (int)vect.size(); i++)
{
if (some_func(i))
{
a = i;
}
}
私はそれがあなたの質問がtype_tと言うところのどこでもsize_tを意味しますか?もしそうなら、それを編集してください。 –
'static_cast'を使用してください。 – GManNickG
'size_t'と' int'は32ビットシステムでも同じ型ではないことに注意してください。 'size_t'は' int'が署名されている間は符号なしです。これは重要な項目です。 –