从 D 中的变量中删除 const 限定符

Remove a const qualifier from a variable in D

我想创建一个变量的非常量副本。我在一个模板函数中执行此操作,该函数具有 in ref 输入,因此类型 (T) 具有 const 集。我在 https://dlang.org/phobos/std_traits.html 中看到一个 ConstOf 函数,但我找不到一个反函数,所以我可以从 T.

得到一个非常量类型

如果你想从变量中删除所有类型限定符,你可以简单地执行 cast() variable 这将导致只有基本类型没有任何 const/immutable/etc.

但是请注意,这会导致未定义的行为,应该避免!

另请参阅:https://dlang.org/spec/const3.html#removing_with_cast

您可能感兴趣 std.traits.Unqual.

请注意,这给出了删除了 所有 限定符的类型,而不仅仅是 const.