, newMessage. ! . :
m_sentMessageQueue << AMISendMessageFormat(messageToSend);
AMISendMessageFormat newMessage(messageToSend);
m_sentMessageQueue << newMessage;
QScopedPointer<AMISendMessageFormat> newMessage(new AMISendMessageFormat(messageToSend));
m_sentMessageQueue << *newMessage;
, . . , AMISendMessageFormat - ++ , .
- , , , . Qt ++ , . , , , , QSharedPointer.
, .
raw-point-to-things, , , , clear(). A QList , , . ++ , , NO-OP.
QSharedPointer std::shared_ptr , , clear(). - :)
, ++, .
QObject QList, "" QObjects - .
:
QList<QString> stringList1;
QList<QSharedPointer<QString> > stringList2;
stringList1 << "Foo" << "Bar" << "Baz";
stringList2 << new QString("Foo") << new QString("Bar") << new QString("Baz");
Q_ASSERT(stringList1.at(0) == *stringList2.at(0));
stringList1.clear();
stringList2.clear(); // no memory leaks
, :
QList<QString*> stringList3;
stringList3 << new QString("Foo") << new QString("Bar") << new QString("Baz");
stringList3.clear();
, QList ++ RAII. , , . , clear() , , . . main(), , .
int main() {
QList<QString> stringList1;
stringList1 << "Foo" << "Bar" << "Baz";
return 0;
}