เบเบนเปเบเบฑเบเบเบฐเบเบฒเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก D เปเบเปเบเปเบฒเบชเบฐเปเบซเบเบตเบเบฒเบเบเปเบญเบเบเบปเบงเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบเบเบปเปเบเบเป DMD 2.100.0, เปเบเบดเปเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบฅเบฐเบเบปเบ GNU/Linux, Windows, macOS เปเบฅเบฐ FreeBSD. เบฅเบฐเบซเบฑเบ compiler เปเบกเปเบเปเบเบเบขเบฒเบเบเบฒเบเปเบเป BSL เบเบฃเบต (Boost Software License).
D เปเบกเปเบเบเบดเบกเปเบเบเบเบปเบเบเบตเป, เบกเบต syntax เบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ C/C++, เปเบฅเบฐเบชเบฐเบซเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบญเบเบเบฒเบชเบฒเบเบตเปเบฅเบงเบเบฅเบงเบก, เปเบเบเบฐเบเบฐเบเบตเปเบขเบทเบกเบเบฒเบเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบฅเบฐเบเบปเบเบเบฐเปเบซเบเบเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบเบฒเบชเบฒเปเบเบทเปเบญเบเปเบซเบง. เบเบปเบงเบขเปเบฒเบ, เบกเบฑเบเบชเบฐเบซเบเบญเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบ arrays เบเบตเปเบเปเบฝเบงเบเปเบญเบ, เบเบฐเปเบเบ inference, เบเบฒเบเบเบฑเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบญเบฑเบเบเบฐเปเบเบกเบฑเบ, เบเบฒเบเบเบฝเบเปเบเบผเปเบเบผเบกเบเบฐเบซเบเบฒเบ, เบเบปเบงเปเบเบฑเบเบเบตเปเปเบซเบเบทเปเบญเบเบฒเบเปเบฅเบทเบญเบ, เบฅเบฐเบเบปเบเปเบกเปเปเบเบ, เบญเบปเบเบเบฐเบเบญเบ metaprogramming, เบเบงเบฒเบกเบชเบฒเบกเบฒเบเปเบเบเบฒเบเบเปเบฒเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบ C, เปเบฅเบฐเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ C ++ เปเบฅเบฐ Objective-C.
เปเบเบเบฑเบเบเบฒเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบเบฒเบเบเปเบญเบเปเบซเบกเป:
- เบฎเบนเบเปเบเบเปเบเบปเปเบฒเบเบญเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบ overloading เบเบตเปเปเบเปเปเบเบชเบฒเบเบฒ D1 เปเบเปเบเบทเบเบขเบธเบเปเบเบปเบฒ. เปเบเบเบเบตเป opNeg, opAdd_r, opAddAssign, เปเบฅเบฐเบญเบทเปเบเป. เบกเบฒ opUnary, opBinary, opBinaryRight เปเบฅเบฐ opOpAssign. เบฎเบนเบเปเบเบเปเบเบปเปเบฒเบเบญเบเบเบฒเบเปเบซเบผเบเปเบเบตเบเบเบญเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเปเบเบทเบเบเบปเบเปเบฅเบตเบเปเบเบเบต 2019 เปเบฅเบฐเบเบฐเบเบดเปเบกเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบเบฒเบเบเปเบญเบ 2.100.
- เบเบณโเบเบตเปโเบเบทเบโเบฅเบปเบโเปเบเปโเบเบทเบโเบขเบธเบโเปเบเบปเบฒโเบเบฑเบโเปเบเปโเบเบต 2018. เปเบเบเบเบตเปเบเบฐเบฅเบถเบ, เบเปเบฒเบเบเบงเบเปเบเปเบเบฑเบเบเบฑเบ destroy เบซเบผเบท core.memory.__delete.
- เบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ @mustuse เปเบซเบกเปเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบฐเปเบเบเปเบเบเบชเปเบฒเบเปเบฅเบฐเบชเบฐเบซเบฐเบเบฑเบเปเบเบฑเบเบงเบดเบเบตเบเบฒเบเบเบฒเบเปเบฅเบทเบญเบเปเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบกเบทเปเบญเบฅเบฐเบซเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเบเบฒเบเบเบฑเบเบเปเปเบเบปเบเปเบงเบฑเปเบ (เบเบปเบงเบขเปเบฒเบ, เปเบ @nogc blocks). เบเปเบฒเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเบซเบกเบฒเบ @mustuse เบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบฅเบฐเบซเบฑเบ, compiler เบเบฐเบชเปเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ.
- เบชเปเบฒเบฅเบฑเบ static array, เบเบฒเบเบเปเบฒเปเบเปเบเบธเบเบชเบปเบกเบเบฑเบ ".tupleof" เปเบกเปเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเปเบฎเบฑเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเปเบฒ (lvalue) เบเบญเบเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบเบเบญเบ array. void foo(int, int, int) { /* โฆ */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analogue foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // เบเบฒเบเบกเบญเบเปเบฒเบเปเบเบเบเปเบฒเบเป fa = ia เบชเบปเปเบเบเบปเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ (fa == [1F, 2F, 3F]);
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru