真的是有的没的。
前阵子版上刚好不约而同有一个关于for最佳化的topic,又刚好前面有一个指标的
面试topic,突然让我想到一件往事....
补上文章编号 #1KV1lFA0 #1KVOvnwp
http://blog.rayer.idv.tw/posts/245160-for-some-stupid-memories
(blog里面有一段可以让你们拿来玩玩看的code
对了,这种“最佳化”行为其实是undefined behavior,只是绝大多数编译器都
会有一样的结果)
“诶某R,我把某段Code最佳化了,我把时间复杂度从O(n^2)降成O(n)”
“喔喔,这还真是满大的突破,那段还满吃紧的呢。你是怎么做到的?”
“简单啊,看我的code”
before :
```
for(int i = 0; i < m; ++i)
for(int j = 0; j < n; ++i) {
process(target[i][j]);
}
```
after :
```
for(int i = 0; i < m * n; ++i) {
process(*((target*)(&target) + i));
}
```
我整个下午都在一直在想,我应该要尻他脑袋尻多少下才能让他醒过来,然后
下班时间就到了。