D release compiler basa 2.100

Pengembang basa pamrograman D nampilake rilis kompiler referensi utama DMD 2.100.0, sing ndhukung sistem GNU/Linux, Windows, macOS lan FreeBSD. Kode kompiler disebarake ing sangisore BSL gratis (Lisensi Piranti Lunak Boost).

D diketik kanthi statis, nduweni sintaksis sing padha karo C / C ++, lan nyedhiyakake kinerja basa sing dikompilasi, nalika nyilih sawetara efisiensi pangembangan lan keuntungan keamanan saka basa dinamis. Contone, menehi dhukungan kanggo susunan asosiatif, inferensi jinis, manajemen memori otomatis, program paralel, kolektor sampah opsional, sistem cithakan, komponen metaprogramming, kemampuan kanggo nggunakake perpustakaan C, lan sawetara perpustakaan C ++ lan Objective-C.

Antarane owah-owahan ing rilis anyar:

  • Gaya overloading operator lawas sing digunakake ing cabang D1 wis mandheg. Ngganti opNeg, opAdd_r, opAddAssign, lsp. teka opUnary, opBinary, opBinaryRight lan opOpAssign. Gaya overloading operator lawas ora digunakake ing taun 2019 lan bakal nggawe kesalahan nalika rilis 2.100.
  • Tembung kunci mbusak wis ora digunakake wiwit 2018. Tinimbang mbusak, sampeyan kudu nggunakake numpes utawa fungsi core.memory.__delete.
  • A atribut @mustus anyar wis dipun ginakaken sing bisa Applied kanggo struct lan union jinis minangka cara alternatif kanggo kesalahan nalika kode ora bisa nangani pangecualian (contone, ing @nogc pamblokiran). Yen ekspresi sing ditandhani karo atribut @mususe ora digunakake ing kode, compiler bakal nggawe kesalahan.
  • Kanggo susunan statis, panggunaan properti ".tupleof" diijini kanggo entuk urutan nilai (lvalue) saben unsur saka array. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analog foo(1, 2, 3); ngambang [3] fa; fa.tupleof = ia.tupleof; // assignment prasaja fa = ia nyebabake kesalahan negesake (fa == [1F, 2F, 3F]);

Source: opennet.ru

Add a comment