前两天学习Qt突然发现一个问题,问了好多人都不能解答,给一个老师发邮件居然就给我回复三行!还有一行是“这个作为一个点记住就行了”,还能再敷衍一点吗??看了完全不知所云毫无用处好吗?不懂就直说。。。今天又百度一下终于有所领悟。。

问题是关于函数指针的,我写了个例子代码如下:

 

(main函数里面 两条语句为一组)

 

————————————-分割线————————————-
下面是我的理解:
  • 普通函数静态函数 与 成员函数的内存分配是不同的,所以把前两者分为一类。成员函数的指针并不是一个普通的指针,其实现方法见末尾……
  • 不论是怎么取函数地址,带上&都是规范写法。
  • 编译器支持普通函数和静态函数不带&的写法。
  • 有些老的编译器可以通过没有&号的赋值方式,但标准C++强制要求加上&号。—-我想这也是为什么上面不加&会出错了。
下面是两篇干货:
(这一篇比较高深,讲的是成员函数指针编译器的实现。。。我就是随便扫了一眼。。。)

评论

电子邮件地址不会被公开。 必填项已用*标注

你可以使用以下 HTML 标签和属性:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">