Разница между приведением (T) x и к! T (x) - PullRequest
0 голосов
/ 12 января 2019

В чем разница между cast(T)x и to!T(x) в языке программирования D? (при условии, что модуль std.conv импортирован)

1 Ответ

0 голосов
/ 13 января 2019

cast(T)x делает несколько типов преобразований, как это гарантировано языком. К ним относятся:

  • динамическое приведение типов между классами / интерфейсами, предоставляемыми средой выполнения
  • приведение числового типа, например, двойное к короткому
  • приведение типа массива, например, int [] в ubyte []
  • принудительное преобразование alias this, которое в противном случае не было бы принудительным
  • системные преобразования типа, особенно вокруг const и shared

to!T(x) выполняет ряд других преобразований, особенно в строки и из строк.

...