![]() |
1
11
您可以将控件的层次结构视为类似树的图形数据结构;当您以这种方式将其可视化时,控件具有指向其父级的指针是非常合理的。 至于对象或指向对象的指针是否应该存储在向量中,这要视情况而定。通常您应该更喜欢存储对象,但是有很多时候您不能这样做,或者这样做是不切实际的。例如,如果您需要利用多态性并存储所有派生自公共基类的不同类型的内容,则需要使用指针。 如果确实存储指针,请确保使用某种类型的智能指针或指针容器;否则,异常安全就是一个问题。 |
![]() |
2
8
那很好。这是UI框架中的常见模式。例如.NET Windows窗体
|
![]() |
3
6
事实上 GOF
因此,我想,根据实际需求和上下文,这样的设计有一个明确的位置。 |
![]() |
4
4
不,完全没问题。唯一的问题是它增加了实例之间的耦合级别。此外,如果您考虑如上所述使用智能指针,请确保引用父级“弱”。假设窗口树不太深,可以考虑从已知的顶部窗口开始动态确定父窗口。 |
![]() |
5
2
|
![]() |
6
1
如果需要这样做,可以考虑将父级作为
|
![]() |
7
0
还不错。例如,在Qt小部件中,即使不使用
顺便说一句:你说的“家长”可能会被家长误解,这让人有些困惑。 |
|
simply lemon · python上链表的添加方法 11 月前 |
|
Anonymous · 为什么在这个例子中self和类名的用法不同? 1 年前 |
![]() |
P N Singh · 在CPP Oops中调用对象而不创建它 1 年前 |
![]() |
Muthuraj · 如何创建一个通用工厂来创建某种类型的实例[重复] 1 年前 |
![]() |
Andy Votava · 从父类定义调用学生方法 1 年前 |