我是D的新手,所以我可能會弄錯一些東西,請賜教!爲什麼D中沒有`isIn`特徵?
據我瞭解從documentation d提供性狀發現關於函數參數的裝飾品:
void fooref(ref int x) {
static assert(__traits(isRef, x));
static assert(!__traits(isOut, x));
static assert(!__traits(isLazy, x));
}
void fooout(out int x) {
static assert(!__traits(isRef, x));
static assert(__traits(isOut, x));
static assert(!__traits(isLazy, x));
}
void foolazy(lazy int x) {
static assert(!__traits(isRef, x));
static assert(!__traits(isOut, x));
static assert(__traits(isLazy, x));
}
爲什麼沒有尋找出關於in
裝飾一特質?
可能是因爲默認? – DejanLekic
mmmhhh ......這是否意味着'in'有點多餘?在'void foo(intx)'和'void foo(int x)'完全等價的意義上? – steffen
它不是默認值,並且與作用域常量相同。 –