is iterator initialization inside loop deliberate bad style, why?


typically stl formula this:



for (someclass::somecontainer::iterator iter = m_somemembercontainervar.begin(); iter != m_somemembercontainervar.end(); ++iter)
{
}


but indeed have recommendation this:



someclass::somecontainer::iterator iter = m_somemembercontainervar.begin();
someclass::somecontainer::iterator iterend = m_somemembercontainervar.end();
for (; iter != iterend; ++iter)
{
}


if you're nervous scoping, supplement enclosing braces:



{
someclass::somecontainer::iterator iter = m_somemembercontainervar.begin();
someclass::somecontainer::iterator iterend = m_somemembercontainervar.end();
(; iter != iterend; ++iter)
{
}
}


this ostensible give speed potency gain, generally programming consoles, since .end() duty called any iteration loop. i only take opening alleviation granted, sounds reasonable nonetheless i don't know many definitely depends form enclosing tangible stl doing use. nonetheless carrying used impression integrate months i indeed move over initial anyway.



the reason being readability: line neat tidy. qualifiers member variables genuine prolongation formula definitely easy have really enlarged lines impression initial example. that's since i intentionally finished have plane scrollbar example, only i'm articulate about. ;)



on hand, astonishing broach iter variables outdoor range loop. nonetheless then, during slightest sourroundings i work in, iter have permitted outdoor range even initial example.



what your take this? there any pro's initial impression presumably confining range iter?



Comments

Popular posts from this blog

list macos calm editors formula editors

how i practical urls indicate .aspx pages asp.net deployed an iis? (preferably but iis)

jaxb - xjc - reworking generated typesafe enum category members