















我看了半天都不知道這三行代碼到底是什么意思!周五晚上我用baidu,google搜了半天,終于發(fā)現(xiàn)Ln1不就是自己以前用過的指向成員函數(shù)的指針嗎?!我真蠢,看了半天還是沒看明白。那么一個(gè)問題解決了,另外一個(gè)更無法理解的問題出現(xiàn)了:為什么在寫下

這個(gè)問題,折磨了我兩天,今天晚上的時(shí)候,有打開VC9,有一次看到這段代碼,突然就明白了。
在Ln1定義了一個(gè)類型(指向成員函數(shù)指針);
在Ln2和Ln3定義了一個(gè)函數(shù),該函數(shù)是一個(gè)類型轉(zhuǎn)換函數(shù),把shared_ptr,轉(zhuǎn)換為一個(gè)指向成員函數(shù)的指針。
舉一個(gè)簡單的類型轉(zhuǎn)換函數(shù)的例子:



























現(xiàn)在終于明白了上面的代碼。雖然代碼里面的技術(shù)我都用過,但是當(dāng)時(shí)為什么沒有像明白呢?!
我分析原因有兩條:
1. 最近好久沒有寫過代碼,生疏了。這是次要原因。
2.對C++缺乏了解。這是主要原因。
在解決這個(gè)問題的時(shí)候用google搜到了一個(gè)老外發(fā)的貼,大致內(nèi)容如下:
每當(dāng)我覺得對C++有所了解或者掌握它的秘密的時(shí)候,我總發(fā)現(xiàn)一些改變我看發(fā)的事情。
....
另外一個(gè)老外回答的時(shí)候用了一句話。I know the feelings.
現(xiàn)在,我終于也有第一個(gè)老外的感覺了。