D release compiler basa 2.100

Pamekar basa pamrograman D nampilkeun sékrési kompiler rujukan utama DMD 2.100.0, anu ngadukung sistem GNU/Linux, Windows, macOS sareng FreeBSD. Kodeu kompiler disebarkeun dina BSL gratis (Lisensi Software Boost).

D diketik sacara statik, gaduh sintaksis anu sami sareng C / C ++, sareng nyayogikeun kinerja basa anu disusun, bari nginjeum sababaraha efisiensi pangwangunan sareng kauntungan kaamanan tina basa dinamis. Contona, nyadiakeun rojongan pikeun arrays associative, tipe inferensi, manajemén memori otomatis, programming paralel, hiji kolektor sampah pilihan, sistem template, komponén metaprogramming, kamampuhan pikeun ngagunakeun perpustakaan C, sarta sababaraha C ++ jeung perpustakaan Tujuan-C.

Diantara parobihan dina sékrési énggal:

  • Gaya heubeul operator overloading dipaké dina cabang D1 geus dieureunkeun. Ngaganti opNeg, opAdd_r, opAddAssign, jsb. sumping opUnary, opBinary, opBinaryRight sareng opOpAssign. Gaya lami operator overloading dileungitkeun dina taun 2019 sareng bakal ngalungkeun kasalahan nalika ngaleupaskeun 2.100.
  • Kecap konci ngahapus parantos dileungitkeun saprak 2018. Gantina ngahapus, Anjeun kudu make ngancurkeun atawa fungsi core.memory.__delete.
  • A atribut @mustus anyar geus dilaksanakeun nu bisa dilarapkeun ka struct jeung union tipe salaku hiji metodeu alternatif penanganan kasalahan nalika kode teu tiasa ngadamel iwal (contona, dina blok @nogc). Upami ekspresi anu ditandaan sareng atribut @mususe henteu dianggo dina kode, kompiler bakal ngahasilkeun kasalahan.
  • Pikeun arrays statik, pamakéan sipat ".tupleof" diwenangkeun pikeun ménta runtuyan nilai (lvalue) unggal unsur Asép Sunandar Sunarya. 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; // basajan ngerjakeun fa = ia hasil dina ngeceskeun kasalahan (fa == [1F, 2F, 3F]);

sumber: opennet.ru

Tambahkeun komentar