D แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ 2.100

D แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒ›แƒ แƒฌแƒแƒ แƒ›แƒแƒแƒ“แƒ’แƒ˜แƒœแƒ”แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒกแƒแƒชแƒœแƒแƒ‘แƒแƒ แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ DMD 2.100.0, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก GNU/Linux, Windows, macOS แƒ“แƒ FreeBSD แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒก. แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ“แƒ”แƒ‘แƒ แƒฃแƒคแƒแƒกแƒ BSL-แƒ˜แƒก (Boost Software License) แƒฅแƒ•แƒ”แƒจ.

D แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒแƒ™แƒ แƒ”แƒคแƒ˜แƒšแƒ˜, แƒแƒฅแƒ•แƒก แƒกแƒ˜แƒœแƒขแƒแƒฅแƒกแƒ˜ C/C++-แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ“แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก, แƒฎแƒแƒšแƒ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ แƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ‘แƒแƒกแƒ แƒ“แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒ˜แƒก แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ”แƒ‘แƒก แƒกแƒ”แƒกแƒฎแƒฃแƒšแƒแƒ‘แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒแƒกแƒแƒชแƒ˜แƒแƒชแƒ˜แƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก, แƒขแƒ˜แƒžแƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒกแƒ™แƒ•แƒœแƒแƒก, แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ  แƒ›แƒ”แƒœแƒ”แƒฏแƒ›แƒ”แƒœแƒขแƒก, แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ  แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒแƒก, แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒ— แƒœแƒแƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ”แƒšแƒก, แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก, แƒ›แƒ”แƒขแƒแƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ”แƒ‘แƒก, C แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒ“แƒ แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— C++ แƒ“แƒ Objective-C แƒ‘แƒ˜แƒ‘แƒšแƒ˜แƒแƒ—แƒ”แƒ™แƒ”แƒ‘แƒก.

แƒแƒฎแƒแƒš แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒแƒจแƒ˜ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒจแƒแƒ แƒ˜แƒก:

  • D1 แƒคแƒ˜แƒšแƒ˜แƒแƒšแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒขแƒ˜แƒšแƒ˜ แƒจแƒ”แƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ˜แƒ. แƒชแƒ•แƒšแƒ˜แƒก opNeg, opAdd_r, opAddAssign แƒ“แƒ แƒ.แƒจ. แƒ›แƒแƒ•แƒ˜แƒ“แƒ opUnary, opBinary, opBinaryRight แƒ“แƒ opOpAssign. แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒกแƒขแƒ˜แƒšแƒ˜ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ“แƒ 2019 แƒฌแƒ”แƒšแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒฃแƒจแƒ•แƒ”แƒ‘แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก 2.100 แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.
  • แƒฌแƒแƒจแƒšแƒ˜แƒก แƒกแƒแƒ™แƒ•แƒแƒœแƒซแƒ แƒกแƒ˜แƒขแƒงแƒ•แƒ แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 2018 แƒฌแƒšแƒ˜แƒ“แƒแƒœ. แƒฌแƒแƒจแƒšแƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ™แƒšแƒแƒ•แƒ˜แƒแƒขแƒฃแƒ แƒ แƒ“แƒ core.memory.__delete แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ.
  • แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ˜แƒšแƒ˜แƒ แƒแƒฎแƒแƒšแƒ˜ @mustuse แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜แƒก แƒขแƒ˜แƒžแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ›แƒ”แƒ—แƒแƒ“แƒ˜, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ™แƒแƒ“แƒ˜ แƒ•แƒ”แƒ  แƒฃแƒ›แƒ™แƒšแƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ”แƒ‘แƒก (แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, @nogc แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜). แƒ—แƒฃ @mustuse แƒแƒขแƒ แƒ˜แƒ‘แƒฃแƒขแƒ˜แƒ— แƒ›แƒแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒœแƒแƒ—แƒฅแƒ•แƒแƒ›แƒ˜ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ™แƒแƒ“แƒจแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ’แƒ”แƒœแƒ”แƒšแƒ˜ แƒฌแƒแƒ แƒ›แƒแƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒแƒก.
  • แƒกแƒขแƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒœแƒ”แƒ‘แƒแƒ“แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ ".tupleof" แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ—แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒแƒ— แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ”แƒšแƒ”แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ (lvalue). void foo(int, int, int) { /* โ€ฆ */ } int[3] ia = [1, 2, 3]; แƒคแƒฃแƒ(แƒ˜แƒ.แƒขแƒฃแƒžแƒšแƒแƒค); // แƒแƒœแƒแƒšแƒแƒ’แƒฃแƒ แƒ˜ foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ“แƒแƒ•แƒแƒšแƒ”แƒ‘แƒ fa = ia แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒแƒก(fa == [1F, 2F, 3F]);

แƒฌแƒงแƒแƒ แƒ: opennet.ru

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ