• 4641阅读
  • 5回复

[提问]Qt中声明类的时候,有的时候用&,有的时候用*,有的时候什么都没有。 [复制链接]

上一主题 下一主题
离线wangjzh
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-28
初学Qt,很菜,求帮助!
Qt中新建类的时候,有的时候用&,有的时候用*,有的时候什么都没有
比如:QLineEdit *find_textLineEdit,就是用的“*”,指针
      Qstring str;就什么都没有加,
      const Qstring& str;就是用的“&”。
有什么区别,怎么区分使用。
学过C语言,大概知道什么意思,但是感觉好乱啊,在Qt里面,求帮助!
离线jorneyr

只看该作者 1楼 发表于: 2011-10-28
仔细观察,会发现

1. GUI的组件Qt中一般都是使用 * (因为GUI组件不能使用复制构造函数,但是又不愿意GUI组件作为参数的时候再多加个*edit这种形式,而是直接使用edit)

2. 非GUI组件作为参数,一般是用const ClassName &,这样的好处是可以使用临时对象作为参数,而且是使用引用

这些都是一种习惯,并不是必须的
离线wangjzh
只看该作者 2楼 发表于: 2011-10-28
谢了,但是还是希望得到更为详细一点的解答啊!
离线jdwx

只看该作者 3楼 发表于: 2011-10-28
回 2楼(wangjzh) 的帖子
Qt也是C++,找本C++的书一看就明白。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 4楼 发表于: 2011-10-28
建议找一本C和C++的书看看
指针和引用神马的
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线friendbaby

只看该作者 5楼 发表于: 2011-10-28
先学C++
Smiling is best language , can express everything , also can conceal everything.
快速回复
限100 字节
 
上一个 下一个