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