C++包含函數指針的複雜定義處理辦法

 void (*funcPtr)()

        最好的處理辦法是:從中間開始和向外擴展。“從中間開始”的意思是從變量名開始,這裏指的是funcPtr。“向外擴展”的意思是先注意右邊最近的項(在這個例子中沒有該項,以右括號結束),然後注意左邊(用星號表示指針),注意右邊(空參數表表示這個函數沒有帶任何參數),再注意左邊(void便是函數沒有返回值)。大多數聲明都是以右-左-右的方式工作。

        所以上式的含義就是:funcPtr是一個指針,它指向一個不帶參數返回值爲void的函數。

       如果去掉括號,上面的代碼就變成:

 void *funcPtr ()

        用上述方法可以看出:funcPtr是一個函數,他的參數表爲空,返回值爲void*

        更多的包含函數指針的複雜定義可以參考網上或《C++編程思想》第三章相關內容,一般太複雜的定義我們基本也不會用到,只要明白處理這種複雜定義的原理,遇到不會困惑就行。

發佈了65 篇原創文章 · 獲贊 39 · 訪問量 25萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章