D te whakaputanga kaiwhakaiti reo 2.100

Ko nga kaiwhakawhanake o te reo whakahōtaka D i whakaatu i te tukunga o te kaitoha tohutoro matua DMD 2.100.0, e tautoko ana i nga punaha GNU/Linux, Windows, macOS me FreeBSD. Ka tohatohahia te waehere whakahiato i raro i te BSL koreutu (Raihana Pūmanawa Whakanui).

D kua patopatohia, he wetereo rite ki te C/C++, me te whakarato i nga mahi o nga reo kua whakahiato, i te nama etahi o nga painga whanaketanga me nga painga haumarutanga o nga reo hihiri. Hei tauira, he tautoko mo nga huinga hononga, momo whakatau, whakahaere mahara aunoa, whakarara i te kaupapa, he kaikohi paru, he punaha tauira, he waahanga metaprogramming, he kaha ki te whakamahi i nga whare pukapuka C, me etahi whare pukapuka C++ me Objective-C.

I roto i nga huringa o te tukunga hou:

  • Ko te ahua tawhito o te kawenga a te kaiwhakahaere i whakamahia i roto i te peka D1 kua whakamutua. Kua whakakapia te opNeg, opAdd_r, opAddAssign, etc. haere mai opUnary, opBinary, opBinaryRight me te opOpAssign. Ko te ahua tawhito o te nui o te kawenga a te kaiwhakahaere i whakakorehia i te tau 2019 ka tukuna he hapa mai i te tukunga 2.100.
  • Kua whakakorehia te kupu matua muku mai i te tau 2018. Engari ki te muku, me whakamahi koe i te mahi whakangaro or core.memory.__delete.
  • Kua whakatinanahia he huanga @mususe hou ka taea te whakamahi ki nga momo hanganga me nga momo uniana hei huarahi rereke mo te whakahaere hapa ina kore e taea e te waehere te whakahaere i nga tuunga (hei tauira, i roto i nga poraka @nogc). Ki te kore e whakamahia he kupu kua tohua ki te huanga @mususe i roto i te waehere, ka puta he hapa te kaikohikohi.
  • Mo nga huinga pateko, ka taea te whakamahi i te taonga ".tupleof" ki te tiki i te raupapa o nga uara (lvalue) o ia huānga o te huānga. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analog foo(1, 2, 3); mānu[3] fa; fa.tupleof = ia.tupleof; // te taumahi ngawari fa = ka puta he hapa korero(fa == [1F, 2F, 3F]);

Source: opennet.ru

Tāpiri i te kōrero