希望这不是一个蹩脚的问题,但我必须问这个:)
当我在 C++ 中编程并使用for
循环时,我给出的参数是
for(int i = 0; i< something; i++)
这是正确的前进方向,但是..这给了我编译警告,例如:
1>c:\main.cpp(185): warning C4018: '<' : signed/unsigned mismatch
现在浏览书籍和在线阅读大多数for循环示例都是这种结构。
我总是忽略警告,因为我的程序总是工作并做了他们应该做的事情,直到我对这个警告感兴趣并做了一个小的研究......通过复制这个 Waring 和谷歌它发现如果我使用它会更好这种结构可以避免警告:
for(vector<int>::size_type i= 0; i < something; i++ )
现在我的问题是为什么......如果初始结构有效并且在许多书籍和在线资源中被描述和记录。
还有什么好处或技术上有什么显着差异.....?
我为什么要用这个
for(vector<int>::size_type i= 0; i < something; i++ )
除了摆脱警告......?