將迭代器條件右操作數從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;
}
}
我認爲你的意思是size_t無論你的問題說type_t?如果是這樣,請編輯它。 – 2009-08-12 18:41:17
使用'static_cast'。 – GManNickG 2009-08-12 18:42:08
請注意,即使在32位系統上,size_t和int也不是同一類型。當int被簽名時'size_t'是無符號的。這可能是一個重要的項目。 – 2009-08-12 18:51:22