- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 C++ 应用程序中,假设我有一个窗口类,它有多个控件类实例。如果我的窗口想要通知控件它已被点击,我可以使用:
control[n]->onClick();
现在假设控件需要知道它的父窗口的大小,或者其他一些信息。为此,我正在考虑为控件提供一个指向自身(this)的指针作为其构造函数的参数。然后我会从控件的 onClick() 方法中进行这样的调用:
Size windowsize = parent->getSize();
这会被认为是不好的做法,还是以任何其他方式与面向对象编程的值(value)观相矛盾?如果是这样,他会以什么“正确”的方式做到这一点?
作为一个附带问题,拥有 Class 或 Class* 的 vector 会更好吗?是否值得为速度增益增加复杂性? (对 vector 的更改很少)。
最佳答案
您可以将控件层次结构视为树状图数据结构;当您以这种方式对其进行可视化时,控件具有指向其父级的指针是非常合理的。
至于是否应该将对象或指向对象的指针存储在 vector 中,这取决于。您通常应该更喜欢存储对象,但很多时候您不能这样做,或者这样做是不切实际的。例如,如果您需要利用多态性并存储所有从公共(public)基类派生的不同类型的事物,则需要使用指针。
如果您确实存储指针,请确保使用某种智能指针或指针容器;否则,异常安全是一个打击。
关于c++ - 子对象有一个指向其父对象的指针是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3724092/
如果您想分享更多信息,可以在这里找到整个资源 指针: https://github.com/sergiotapia/DreamInCode.Net 基本上,我的API将为其他开发人员提供
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我不是 SCM 工具的经验丰富的用户,尽管我确信它们的用处,当然。 我在以前的工作中使用了一些不起眼的商业工具,在当前的工作中使用了 Perforce,并在我的小型个人项目中使用了 TortoiseS
所以我想知道一些我应该避免在 javascript 中做的事情以获得良好的 SEO 排名。在我的下一个站点中,我将广泛使用 jquery 和 javascript,但不想牺牲 SEO。那么您认为我应该
基本上,我想知道什么是避免 future CSS 代码出现问题和混淆的最佳方法... 像这样命名 CSS 属性: div#content ul#navigation div.float-left (真
我是一名优秀的程序员,十分优秀!