我有这样的课:
class SomeClass {
public:
QString data;
SomeClass(const QString &);
};
并在 .cpp 文件中:
SomeClass::SomeClass(const QString &_data) {
data = _data;
}
然后我像这样使用它:
SomeClass c("foobar");
这将调用 QString("foobar") 并将其传递给 SomeClass 的构造函数。但是这个 QString 是一个自动对象,所以它的生命周期将在构造函数之后消失。另一方面data
,除非修改,否则不会被复制(据我了解 Qt 文档)。这段代码是否可能存在终身问题,还是我错了?如何更好地设计?