c++,看我图片1处与3处为什么少了一个地址符?还有指向函数的指针引用时不是要(*函数名)()引用
答案:2 悬赏:70 手机版
解决时间 2021-03-15 15:11
- 提问者网友:你挡着我发光了
- 2021-03-15 09:56
c++,看我图片1处与3处为什么少了一个地址符?还有指向函数的指针引用时不是要(*函数名)()引用
最佳答案
- 五星知识达人网友:拜訪者
- 2021-03-15 10:53
这都是语法规定
没有为什么
如果一定要知道为什么
那就得问C++的发明者
他为什么要这样规定
只有他知道这个不需要问的答案
我只能这样猜:
void(*f)()=&p::q;
这样写是想让你明白:
f保存(=)的内容(*f)是一个成员的地址(&p::q)
如果不要“&”就容易理解为为
f保存(=)的内容(*f)是一个成员的值(p::q)
至于调用时的写法
f();
就不用猜了
这样写才保持与变量的语法风格一致
如果按你的意思写成
(*f)();
那么变量就a[i]应该写成:(*a)[(*i)]
所有变量前面都要加*
不只是多余
太别扭了追问你看清楚我的问题。。。我是问为什么一个是这样一个是那样
没有为什么
如果一定要知道为什么
那就得问C++的发明者
他为什么要这样规定
只有他知道这个不需要问的答案
我只能这样猜:
void(*f)()=&p::q;
这样写是想让你明白:
f保存(=)的内容(*f)是一个成员的地址(&p::q)
如果不要“&”就容易理解为为
f保存(=)的内容(*f)是一个成员的值(p::q)
至于调用时的写法
f();
就不用猜了
这样写才保持与变量的语法风格一致
如果按你的意思写成
(*f)();
那么变量就a[i]应该写成:(*a)[(*i)]
所有变量前面都要加*
不只是多余
太别扭了追问你看清楚我的问题。。。我是问为什么一个是这样一个是那样
全部回答
- 1楼网友:千杯敬自由
- 2021-03-15 11:33
卧槽
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯