Ich möchte eine nicht-konstante Kopie einer Variablen erstellen. Ich mache das innerhalb einer Template-Funktion, die einen in ref
Eingang hat, so dass der Typ (T
) den const gesetzt hat. Ich sehe eine ConstOf
Funktion in https://dlang.org/phobos/std_traits.html, aber ich kann eine inverse nicht finden, so kann ich einen nicht-const-Typ von T
bekommen.Entfernen Sie ein Konst-Qualifikationsmerkmal aus einer Variablen in D
3
A
Antwort
5
Sie könnten in std.traits.Unqual
interessiert.
Beachten Sie, dass dies den Typ mit alle Qualifier entfernt, nicht nur const
.
1
Wenn Sie alle Typqualifizierer aus einer Variablen entfernen möchten, können Sie einfach cast() variable
verwenden, was nur zum Basistyp ohne const/immutable/etc führt.
Beachten Sie jedoch, dass dies undefined Verhalten ergibt und sollte vermieden werden!
Siehe auch: https://dlang.org/spec/const3.html#removing_with_cast