【发布时间】:2016-04-15 10:44:07
【问题描述】:
我经常遇到 phobos 的某些部分是类,但通常我不需要多态性。
例如Fiber
我想写
Array!Fiber fibers;
但是纤维应该直接在数组中分配。
我查看了scoped,但它随后禁用了复制构造函数,并且不允许我移动类型,这对我来说毫无用处。
即使您确定没有指向它的指针,移动类引用也是非法的。因此,移动作用域对象是非法的。
编辑:
这是在结构中分配类的正确方法吗?
struct Struct(T)
if(is(T == class)){
static immutable size = __traits( classInstanceSize, T);
void[size] buffer;
T t;
alias t this;
this(Args...)(auto ref Args args){
import std.conv: emplace;
t = emplace!T(buffer, args);
}
}
【问题讨论】:
标签: d