D language compiler tso tawm 2.100

Cov neeg tsim tawm ntawm D programming lus tau nthuav tawm qhov kev tso tawm ntawm lub ntsiab lus siv compiler DMD 2.100.0, uas txhawb nqa GNU / Linux, Windows, macOS thiab FreeBSD systems. Lub compiler code yog muab faib raws li BSL dawb (Boost Software License).

D yog statically ntaus ntawv, muaj ib tug syntax zoo ib yam li C / C ++, thiab muab cov kev ua tau zoo ntawm compiled lus, thaum qiv ib co ntawm cov kev loj hlob efficiency thiab kev ruaj ntseg cov txiaj ntsig ntawm dynamic lus. Piv txwv li, nws muab kev txhawb nqa rau associative arrays, hom inference, tsis siv neeg nco kev tswj, parallel programming, ib qho kev xaiv khib nyiab, ib tug template system, metaprogramming Cheebtsam, muaj peev xwm siv C cov tsev qiv ntawv, thiab ib co C ++ thiab Objective-C tsev qiv ntawv.

Ntawm cov kev hloov pauv hauv qhov kev tso tawm tshiab:

  • Lub qub style ntawm tus neeg teb xov tooj overloading siv nyob rau hauv D1 ceg tau raug txiav lawm. Hloov opNeg, opAdd_r, opAddAssign, thiab lwm yam. tuaj opUnary, opBinary, opBinaryRight thiab opOpAssign. Cov qauv qub ntawm tus neeg teb xov tooj overloading tau deprecated nyob rau hauv 2019 thiab yuav pov ib qho yuam kev raws li kev tso tawm 2.100.
  • Cov ntsiab lus rho tawm tau raug tso tawm txij li xyoo 2018. Es tsis txhob rho tawm, koj yuav tsum siv qhov ua kom puas lossis core.memory.__delete muaj nuj nqi.
  • Ib qho @mustuse tus cwj pwm tshiab tau raug coj los siv uas tuaj yeem siv rau cov qauv thiab kev sib koom ua ke raws li lwm txoj hauv kev ntawm kev ua yuam kev thaum cov cai tswj tsis tau qhov kev zam (piv txwv li, hauv @nogc blocks). Yog hais tias ib qho kev qhia cim nrog @mustuse tus cwj pwm tsis siv nyob rau hauv code, lub compiler yuav tsim ib qho yuam kev.
  • Rau qhov zoo li qub arrays, kev siv cov cuab yeej ".tupleof" raug tso cai kom tau txais qhov sib lawv liag ntawm qhov tseem ceeb (lvalue) ntawm txhua lub caij ntawm array. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analogue foo(1, 2, 3); ntab[3] fa; fa.tupleof = ia.tupleof; // yooj yim assignment fa = ia ua rau ib qho yuam kev assert(fa == [1F, 2F, 3F]);

Tau qhov twg los: opennet.ru

Ntxiv ib saib