C- kielen malloc on tyypitön (tai oikeastaan palauttaa void * -tyypin, joka ei C++:ssa ole sijoitusyhteensopiva muiden tyyppien kanssa). Tätä varten C++:ssa on muistinvarausoperaattori new. Esimerkiksi merkkijonoesimerkissä STRING.CPP muistinvaraus olisi voitu suorittaa:
s = new char[max_koko+1];ja vastaavasti muistin vapautus kutsulla
delete [] s; // Huom! [] koska oli luotu taulukko! Muulloin ei.Hakasulkuja tulee käyttää hävittämisessä, mikäli luotu olio oli taulukko. Muuten hävitetään vain taulukon ensimmäinen alkio.