找回密码
 立即注册
收起左侧

请教怎么理解函数参数的问题

6
回复
8416
查看
[复制链接]
累计签到:9 天
连续签到:1 天
来源: 2017-3-22 15:57:33 显示全部楼层 |阅读模式
1Qter豆
在看QT的帮助文档时,对于参数看不懂,如:QFont QFontDialog::getFont(bool *ok, const QFont &initial, QWidget *parent = Q_NULLPTR, const QString &title = QString(), FontDialogOptions options = FontDialogOptions());如bool *ok,根据C语言的知识,bool应该定义的是一个指针,&initialy应该是取得地址,就是类似这种带指针,去地址的,不明白为什么最后的例子是QFont font = QFontDialog::getFont(&ok, QFont("Times", 12), this);

最佳答案

查看完整内容

传指针的话实参就要用&取对象的地址,或者直接使用指针对象。 传引用可以直接写对象名字。。。 你给的例子里因为定义了默认参数,所以最后两个参数使用默认参数,QFont(“time",12)是新建了一个临时的对象,然后把它的引用传入函数中,C++里经常用这种方式构造一个对象然后传入函数。。
回复

使用道具 举报

累计签到:37 天
连续签到:1 天
2017-3-22 15:57:34 显示全部楼层
传指针的话实参就要用&取对象的地址,或者直接使用指针对象。
传引用可以直接写对象名字。。。
你给的例子里因为定义了默认参数,所以最后两个参数使用默认参数,QFont(“time",12)是新建了一个临时的对象,然后把它的引用传入函数中,C++里经常用这种方式构造一个对象然后传入函数。。
回复

使用道具 举报

累计签到:37 天
连续签到:1 天
2017-3-22 17:18:09 显示全部楼层
这是C++,参数里用&是传递引用。。。*是传指针
回复

使用道具 举报

累计签到:70 天
连续签到:1 天
2017-3-22 17:49:16 显示全部楼层
看看C++的引用和指针 的区别
回复

使用道具 举报

尚未签到

2017-3-22 21:34:06 显示全部楼层
同楼上回答一样,先去看看C++的相关内容
回复

使用道具 举报

累计签到:9 天
连续签到:1 天
2017-3-23 11:44:37 显示全部楼层
星辰大海 发表于 2017-3-22 15:57
传指针的话实参就要用&取对象的地址,或者直接使用指针对象。
传引用可以直接写对象名字。。。
你给的例子 ...

哥,怎么看有没有默认参数,是不是像这种 const QString &title = QString();等号右边有的话,就是有默认参数,QWidget *parent = Q_NULLPTR;这种也是有默认参数,就是没有等号的没有默认参数如bool *ok,就是没有默认参数
回复

使用道具 举报

累计签到:37 天
连续签到:1 天
2017-3-24 17:28:58 显示全部楼层
雨后的星空 发表于 2017-3-23 11:44
哥,怎么看有没有默认参数,是不是像这种 const QString &title = QString();等号右边有的话,就是有默认 ...

对的。去看一下C++的内容就明白了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了