C++ Alliance'i presidendil on teatanud, et organisatsioon töötab spetsifikatsiooni kallal, mis lisab C++ keelele mĂ€luohutuse laiendusi, mis meenutavad Rusti keele vĂ”imalusi. Projekti elluviimiseks on kaasatud Sean Baxter, eksperimentaalse C++ kompilaatori Circle autor, kes arendab ideid, et suurendada C++ koodi ohutust, rakendades neid kompilaatori kĂŒljelt ilma prĂŒgi kokku kogumata. Projekti raames on Sean avaldanud dokumendi, milles analĂŒĂŒsitakse erinevate kaitsemeetmete rakendatavust, nagu neid Rustis pakutakse, hinnatakse nende rakendamise vĂ”imalusi C++-le ning pakutakse ettepanekuid, et suurendada C++ koodi ohutust.
TĂ€htis on mĂ€rkida, et algatus kĂ€ivitati arendajate seas kasvava vajaduse tĂ”ttu turvaliste programmeerimismeetodite jĂ€rele ning see on suunatud C++ keele integreerimisele uute vĂ”imalustega, mis aitavad kaitsta levinud mĂ€luga seotud vigade, nĂ€iteks juba vabastatud mĂ€lu aadressidele ligipÀÀsu ja eraldatud puutöötlemise piiride ĂŒletamise, eest. TĂ€iendused arenevad valikutena, mis vĂ”imaldavad jĂ€rk-jĂ€rgult projektide viimist turvalistesse meetoditesse, sĂ€ilitades samal ajal ĂŒhilduvuse juba olemasoleva "ebaturvalise" koodiga.
MĂ€lu töö ohutuse tagamine on vĂ”imalik kompilatsiooni kĂ€igus rakendatavate mehhanismide abil, mis ei too kaasa lisakulusid, mis on iseloomulikud prĂŒgikoristajat kasutavatele keeledele. Peamiste meetoditena ohutuse tagamiseks on mainitud objektide omandi jĂ€lgimist, muutujate laenamise kontrollimist (borrow checker), turvalise konteksti (safe) kasutamist ning liideste std2::send ja std2::sync loomist. Töö hĂ”lmab ka standardraamatukogu kaitstud variandi loomist, mis pakub rakendusi algoritmidele ja andmestruktuuridele, mis vĂ”imaldavad mĂ€luga ohutult töötada.
Allikas: opennet.ru
