如果我有一个整数向量
vector<int> vec;
我按以下方式循环
for(int i=0; i<vec.size(); i++)
{
// do something
}
我收到有符号/无符号不匹配警告。
当然我可以声明i
类型size_t
来解决问题。但是如果我保持不变i
,int
我会在运行时遇到一些问题吗?
请改用向量iterator
。
vector<int>::iterator it;
for (it = vec.begin(); it!= vec.end(); ++it)
{
//do something
}
当然,如果vec.size()
大于有符号整数的最大值。
limits.h
您可以在此表中找到最大值。
是的。对于超过 asigned
可以存储的值的大数字,这将是未定义的行为。
但是,对于可以存储在 a 中的少量数字,signed
没关系。