Kuidas piirata objekti dünaamilist jaotamist C++-s?
Kuidas piirata objekti dünaamilist jaotamist C++-s?

Video: Kuidas piirata objekti dünaamilist jaotamist C++-s?

Video: Kuidas piirata objekti dünaamilist jaotamist C++-s?
Video: iOS App Development with Swift by Dan Armendariz 2024, Mai
Anonim

Virnapõhine objektid neid haldavad kaudselt C++ koostaja. Need hävitatakse, kui nad väljuvad reguleerimisalast ja dünaamiliselt jaotatud objektid tuleb käsitsi vabastada, vastasel juhul kasutage kustutamisklahvi mälu tekib leke. C++ ei toeta automaatset prügikoristusmeetodit, mida kasutavad sellised keeled nagu Java ja C#.

Seda silmas pidades, kuidas piirata objekti dünaamilist jaotamist C++-s?

Virnapõhine objektid neid haldavad kaudselt C++ koostaja. Need hävitatakse, kui nad väljuvad reguleerimisalast ja dünaamiliselt jaotatud objektid tuleb käsitsi vabastada, vastasel juhul kasutage kustutamisklahvi mälu tekib leke. C++ ei toeta automaatset prügikoristusmeetodit, mida kasutavad sellised keeled nagu Java ja C#.

Lisaks, kas saame CPP-s objektidele dünaamiliselt mälu eraldada? Dünaamiline mälu eraldamine jaoks Objektid Me saame samuti objekte dünaamiliselt jaotada . Nagu meie tean, et Konstruktor on klassi liigefunktsioon, mida kutsutakse välja alati, kui uus objektiks on sellest klassist loodud. Destructor on ka klassiliikme funktsioon, mida kutsutakse alati, kui objektiks läheb ulatusest välja.

Inimesed küsivad ka, kuidas teha C++ klassi, mille objekte saab ainult dünaamiliselt jaotada?

  1. Ei saa teha. Ainus, mida saate teha, on muuta konstruktor privaatseks ja luua staatiline tehas, mis loob klassi uue eksemplari. –
  2. Sellise klassi loomine on kindlasti probleem.
  3. See on väga veider nõue.

Miks me peame tegema objektide dünaamilist lähtestamist?

The Objektide dünaamiline initsialiseerimine tähendab initsialiseerida klassi andmeliikmed loomise ajal objektiks . Millal me tahame andmeliikmetele alg- või vaikeväärtuste andmiseks loomise ajal objektiks - me vajame kasutada objektide dünaamiline initsialiseerimine.