在编程方面,我一直以非常面向对象的方式学习,这意味着高度优化的代码不是我的强项。现在我已经相当擅长C语言,通常可以用比较聪明的方式完成任务,但我仍然难以想到最优化的处理情况。
举个例子:
int strlen(const char* str)
{
char* s;
for (s=str; *s; ++s);
return s-str;
}
我自己从来没有想到过这一点。
那么,有哪些好的资源可以让你接触到像这样优化的代码?我想找一个地方,在那里我可以阅读背后的理论,编译器在背景中所做的使其值得的事情等等。
如果能有一些针对现实场景应用的优化数据结构的学习资源也不错,但这可能要求太高了。
int count=0; while(str++) count++; return count;
这个简单版本,有什么优化? - riwalk