Properties 对于D范围,front()应该是@property吗?

Properties 对于D范围,front()应该是@property吗?,properties,iterator,range,d,Properties,Iterator,Range,D,当我定义我的D范围时,front()应该是@property吗?(或者只是一个 “常规”成员函数?是的,应该是(正式定义在文档中的isInputRange模板下,请参见:) 在实践中,它可能无论如何都能工作,但由于文档中说它和typeof(range.front)是一种常见的签入范围约束,并且这是@property现在在dmd实现中实际会改变的一件事,因此最好使用它来符合要求 现在,@property当前并不禁止像range.front()那样调用它,使用括号,您不应该这样做,因为在将来的某个时

当我定义我的D范围时,
front()
应该是@property吗?(或者只是一个 “常规”成员函数?

是的,应该是(正式定义在文档中的
isInputRange
模板下,请参见:)

在实践中,它可能无论如何都能工作,但由于文档中说它和
typeof(range.front)
是一种常见的签入范围约束,并且这是
@property
现在在dmd实现中实际会改变的一件事,因此最好使用它来符合要求

现在,
@property
当前并不禁止像
range.front()
那样调用它,使用括号,您不应该这样做,因为在将来的某个时候,@property可能会更改以阻止该行为

所以,是的,在range.front上使用
@property
,并始终将其用作最大向前兼容性的属性