D-taalkompilerferzje 2.100

De ûntwikkelders fan 'e programmeartaal D presintearren de frijlitting fan' e haadreferinsjekompiler DMD 2.100.0, dy't GNU/Linux, Windows, macOS en FreeBSD-systemen stipet. De kompilerkoade wurdt ferspraat ûnder de fergese BSL (Boost Software License).

D is statysk typearre, hat in syntaksis fergelykber mei C/C++, en leveret de prestaasjes fan gearstalde talen, wylst guon fan 'e ûntwikkelingseffisjinsje en feiligensfoardielen fan dynamyske talen liene. Bygelyks, it jout stipe foar assosjatyf arrays, type inference, automatysk ûnthâld behear, parallel programmearring, in opsjoneel garbage collector, in sjabloan systeem, metaprogramming komponinten, de mooglikheid om te brûken C biblioteken, en guon C ++ en Objective-C bibleteken.

Under de feroaringen yn 'e nije release:

  • De âlde styl fan operator oerladen brûkt yn 'e D1 tûke is staakt. Ferfangt opNeg, opAdd_r, opAddAssign, ensfh. kaam opUnary, opBinary, opBinaryRight en opOpAssign. De âlde styl fan oerladen fan operators waard yn 2019 ôfkard en sil in flater smyt fanôf release 2.100.
  • It kaaiwurd wiskje is sûnt 2018 ôfkard. Yn stee fan wiskjen, Jo moatte brûke de destroy of core.memory.__delete funksje.
  • In nij @mustuse-attribút is ymplementearre dat kin wurde tapast op struct- en uniontypen as in alternative metoade foar flaterhanneling as de koade gjin útsûnderings kin omgean (bygelyks yn @nogc-blokken). As in útdrukking markearre mei it @mustuse-attribút net brûkt wurdt yn koade, sil de kompilator in flater generearje.
  • Foar statyske arrays is it gebrûk fan it eigenskip ".tupleof" tastien om de folchoarder fan wearden (lvalue) fan elk elemint fan 'e array te krijen. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analoge foo(1, 2, 3); float[3] fa; fa.tupleof = ia.tupleof; // ienfâldige opdracht fa = ia resultearret yn in flater assert (fa == [1F, 2F, 3F]);

Boarne: opennet.ru

Add a comment