Templates &引用;联合国环境规划署-在D中输入a

Templates &引用;联合国环境规划署-在D中输入a,templates,d,Templates,D,我正在尝试编写一个名为Unconst的模板,它将类似const(int)的内容转换为int;换句话说 Unconst!(const(int)) 应该给 int 但是我不知道怎么做。。。有什么创造性的想法可以让这一切顺利进行吗 (扩展:如果该方法可以扩展到shared和其他类型构造函数,那就太好了。)没关系,我自己找到了答案 template Unconst(T) { static if (is(T U == const U)) alias U Unconst; }

我正在尝试编写一个名为
Unconst
的模板,它将类似
const(int)
的内容转换为
int
;换句话说

Unconst!(const(int))
应该给

int
但是我不知道怎么做。。。有什么创造性的想法可以让这一切顺利进行吗


(扩展:如果该方法可以扩展到
shared
和其他类型构造函数,那就太好了。)

没关系,我自己找到了答案

template Unconst(T)
{
    static if (is(T U == const U))
        alias U Unconst;
}

如果这只是一个练习,那就太好了。否则,如果您想要这样的通用工具,我会查看内置的
Unqual!()
模板:@Justin:Haha谢谢.)事实上,我确实记得有类似的事情,我通过查看
Unqual
的定义找到了解决方案。它本身并不完全符合我的需要,因为我只想删除一个限定符,但感谢链接。:]