首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类模板中的纯构造函数

类模板中的纯构造函数
EN

Stack Overflow用户
提问于 2015-06-16 00:14:04
回答 1查看 66关注 0票数 1

我有一些有用的代码,但我不知道为什么。我将类实例化为一个不可变变量。类中没有immutable构造函数,也没有标记为pure的构造函数,但无论如何它都能工作。

我还读到,pure构造函数可以用于可变、不可变、const和共享实例。

我在D网站上唯一能找到的就是在函数模板中推断出纯度。我是否应该假设,由于我的类是参数化的(或一个类模板),编译器是在推断所有方法的纯度,包括构造函数?

代码如下:

代码语言:javascript
复制
public class Data(size_t numInputs, size_t numTargets)
{
  ...
  public this(in double[][] data, in bool[] filter, in bool doNorm = true)
  {
    ...
  }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-16 01:41:45

我在D网站上唯一能找到的就是在函数模板中推断出纯度。我是否应该假设,由于我的类是参数化的(或一个类模板),编译器是在推断所有方法的纯度,包括构造函数?

是。因为类是模板,所以所有方法都是模板(考虑到它们必须是模板,因为隐藏的this参数的类型来自于模板)。因此,它们的身体必须在来源中可用。推断属性的两个要求是可用的主体源和它们的模板参数(而且函数不能试图调用或检查自身,但也不能这样做),因此可以推断为纯属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30856941

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档