示例代码:
QDoubleValidator *validator = new QDoubleValidator();
myInputLineEdit->setValidator(validator);
// delete validator;
Run Code Online (Sandbox Code Playgroud)
注意:myInputLineEdit是一个QLineEdit指针,将与其父项一起删除.
我的问题是,我什么时候应该删除验证器,因为它是手动创建的,并且setValidator()根据文档似乎没有取得这个指针的所有权?如果我不删除它,它会是内存泄漏吗?
我试着删除它,就像注释代码一样,我注意到myInputLineEdit的验证器在此之后变为0.所以我想我可能需要删除myInputLineEdit后删除它.
另一个想法是,我可以给验证者一个父母,所以它将与其parrent一起删除,这是一个很好的方法吗?如果没有一个好的候选人成为父母怎么办?
谢谢
假设我有一个大小为 10 的向量(v1)。现在我只想保留部分元素,使用:
v1.assign(v1.begin() + 2, v1.begin() + 6);
我不确定的是,原始元素是否会在赋值之前被销毁。如果它们先被摧毁,那么我就不能依赖原始数据。
该页面似乎表明元素首先被删除。然而,快速实验告诉我,数据已正确分配给自身。
那么将向量的一部分分配给自身时会发生什么?