1.
for (int i=0; i<100; ++i) a[i] = m * n;
应该改成
int k = m * n;
for (int i=0; i<100; ++i)
a[i] = k;
2. 缓存
将频繁计算和计算代价高的计算结果存到临时变量中,这样就不用一次一次的去调用函数来计算。
3. 预先计算。
一般就是查找表的方式。
for (char* p = header; p != 0; ++p)
*p = toupper(*p);
// 改成
void InitUpperTable()
{
for (int i=0; i<256; ++i)
{
upperTable[i] = toupper(i);
}
}
for (char* p = header; p != 0; ++p)
*p = upperTable[i];