有没有办法在不使用模板的情况下从该类创建类的实例?我需要做一些想法
static classobj* classobj::create (){return new this;}
现在我使用类模板并传递给可创建类的模板类型,如:
template<class T>
class basic_class {
public:
static T *create(int param) { return new T(param); }
}
Run Code Online (Sandbox Code Playgroud)
和
class A : public basic_class<A> {}
Run Code Online (Sandbox Code Playgroud)
为什么不呢?
return new classobj;
Run Code Online (Sandbox Code Playgroud)
或这个:
return new decltype(*this);
Run Code Online (Sandbox Code Playgroud)
但请不要这样做.函数返回的指针具有不明确的所有权语义.我们现在通常不需要原始指针.
| 归档时间: |
|
| 查看次数: |
438 次 |
| 最近记录: |