C++包含函数指针的复杂定义处理办法

 void (*funcPtr)()

        最好的处理办法是:从中间开始和向外扩展。“从中间开始”的意思是从变量名开始,这里指的是funcPtr。“向外扩展”的意思是先注意右边最近的项(在这个例子中没有该项,以右括号结束),然后注意左边(用星号表示指针),注意右边(空参数表表示这个函数没有带任何参数),再注意左边(void便是函数没有返回值)。大多数声明都是以右-左-右的方式工作。

        所以上式的含义就是:funcPtr是一个指针,它指向一个不带参数返回值为void的函数。

       如果去掉括号,上面的代码就变成:

 void *funcPtr ()

        用上述方法可以看出:funcPtr是一个函数,他的参数表为空,返回值为void*

        更多的包含函数指针的复杂定义可以参考网上或《C++编程思想》第三章相关内容,一般太复杂的定义我们基本也不会用到,只要明白处理这种复杂定义的原理,遇到不会困惑就行。

发布了65 篇原创文章 · 获赞 39 · 访问量 25万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章