在从QDjangoModel派生的类中,我看到的代码如下:
return qobject_cast<RawType*>(foreignKey(name));
我对C ++非常有经验,但对Qt来说却是全新的。我知道foreignKey
函数返回的QObject就像一个智能指针本身,但它无法知道从中提取的RawType*
将被使用多长时间,所以我怎么能告诉它的生命周期?是什么让QObject存在 - 它是QDjangoModel对象吗?
(显然,我没有编写这段代码,这可能是一个非常糟糕的设计。他们雇用我来清理这个程序的代码,等等。)