c++ - 在 vector 循环中使用 int 而不是 size_t 可以吗?

标签 c++ warnings unsigned signed

如果我有一个整数 vector

vector<int> vec;

然后我以下面的方式循环

for(int i=0; i<vec.size(); i++)
{
   // do something
}

我收到签名/未签名不匹配警告。

当然我可以声明类型为size_ti来解决这个问题。 但是,如果我将 i 保留为 int ,我会在运行时遇到一些问题吗?

最佳答案

改用 vector 迭代器

vector<int>::iterator it;
for (it = vec.begin(); it!= vec.end(); ++it)
{
   //do something
}

关于c++ - 在 vector 循环中使用 int 而不是 size_t 可以吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15704966/

相关文章:

c++ - 将变量声明为无符号的重要性

c++ - Win32 C++ 控制台清屏不闪烁

c++ - 可以将 boost 累加器用作类成员

java - 方法不会覆盖 Eclipse 中的包可见方法

Java:按位AND创建无符号字节

c - 至未签名并返回 : Casting Pointer vs Casting Dereference

c++ - 将返回值存储在引用中性能最差吗?

c++ - vector.push_back 上的 "glibc free(): invalid next size(fast)"?

php - 警告:array_slice()期望参数1为数组,在[closed]中给定null

r - 如何控制knitr中的R警告到rmarkdown