这段话该如何理解

weixin_38078293 2019-09-19 01:20:42
来自:QT高级编程 一书 构造函数中:复制代码createContextMenu(); QTimer::singShot(0,this,SLOT(requestXml()));书上有此段话:复制代码我们已经简单、直接地调用了requestXml(),但考虑到编程风格,还是建议尽量少用在各个构造函数中构造一个对象的"create"方法【此处不理解:这个create方法说的是QTimer对象的singleShot方法吗】 也尽量少用单触发器来调用那些构造后初始化方法【此处不理解:这个构造后初始化方法是谁,requestXml?】
...全文
33 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38085511 2019-09-19
  • 打赏
  • 举报
回复
尽量少用在各个构造函数中构造一个对象的"create"方法【此处不理解:这个create方法说的是QTimer对象的singleShot方法吗】说的是 createContextMenu(); 也尽量少用单触发器来调用那些构造后初始化方法【此处不理解:这个构造后初始化方法是谁,requestXml?】对,requestXml() 在当前构造函数结束后被调用
weixin_38087592 2019-09-19
  • 打赏
  • 举报
回复
额,手上没有这本书的中文版,翻了下原版。你贴的是这一段对应的内容么?We could have simply called requestXml()  directly, but as a matter of style weprefer to restrict ourselves to calling “create” methods that contribute to theconstruction of an object in constructors, and to call any post-constructioninitializing method using a single shot timer. This ensures that by the timethe initializing method is called, the object is fully constructed. This meansthat the initializing method can access any member variable or method—something that is not guaranteed to be safe during construction.但是,这儿的意思和你一开始贴的并不一致。
weixin_38102914 2019-09-19
  • 打赏
  • 举报
回复
这段翻译是有问题的,原文大意如下:我们本可以简单、直接地调用requestXml(), 但考虑到编程风格,我们倾向于在构造函数中只调用哪些对对象构造有贡献的"create"方法,并倾向于通过单触发的定时器来调用那些构造后初始化方法。这样做...
weixin_38116036 2019-09-19
  • 打赏
  • 举报
回复
不冲突。这行代码的作用是,一旦当前构造函数结束,且事件循环无事可做时,就会调用你的 requestXml()-------------------题外:对Qt新手来说,建议跳过本书第一章,以及第一章译者翻译的其他章节。另外,多看Qt自带的Manual
weixin_38119941 2019-09-19
  • 打赏
  • 举报
回复
引用第9楼dbzhang800于2013-07-01 16:50发表的  :不冲突。这行代码的作用是,一旦当前构造函数结束,且事件循环无事可做时,就会调用你的 requestXml()-------------------题外:对Qt新手来说,建议跳过本书第一章,以及第一章译者翻译的其他章节。另外,多看Qt自带的Manual 新手的话我感觉看这本书都不太合适吧我啃了几页之后发现有点晦涩然后就丢到一边去了……

477

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧