我只是想知道为什么我会在c ++中这样做
for(int i=0, n=something.size(); i<n; ++i)
Run Code Online (Sandbox Code Playgroud)
VS
for(int i=0; i<something.size(); ++i)
Run Code Online (Sandbox Code Playgroud)
..
假设两个样本的语法正确版本,如果调用something.size()昂贵,则第一个样本可能更有效,因为它为每个循环迭代保存一个调用.即便如此,你应该衡量它是否确实有所作为.
请注意,如果something要在循环内部更改大小,则两者将具有不同的语义.