私はこのようなクラスを持っています:
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のドキュメントを理解している限り)コピーされません。このコードで生涯の問題が発生する可能性はありますか、それとも私は間違っていますか?それをより良く設計する方法は?