这种写法禁用!GetSize()会执行多次!
for (int _i = 0; _i < m_arrayToolName.GetSize(); _i++)
可写成:
for (int _i = 0, _nSize = m_arrayToolName.GetSize(); _i < _nSize; _i++)
或
for (int _i = m_arrayToolName.GetSize() - 1; _i >= 0; _i--)
另外,如果变量为复杂对象,如CString或具有构造函数或析构函数的类对象,禁止在循环内声明,应该移到循环外部:
for (int _i = m_arrayToolName.GetSize() - 1; _i >= 0; _i--)
{
CString _str; //此处会导致频繁的构造与析构!禁用!
_str.Format(…);
}