真的是有的沒的。
前陣子版上剛好不約而同有一個關於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));
}
```
我整個下午都在一直在想,我應該要尻他腦袋尻多少下才能讓他醒過來,然後
下班時間就到了。