Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako dynamicky prideliť Array pomocou triedy v C + +

V základnej C + + programovanie , premenné a polia sú deklarované programátorom priamo v kóde . Avšak , keď budovanie dátových štruktúr , ako sú dynamicky zmena veľkosti poľa , programátor musí naučiť počas spustenie kódu dynamicky alokovať pamäť . Pole prenesené týmto spôsobom majú niekoľko výhod , ako je non - konštantnej dĺžky vo vyhlásení . Programátor môže prideliť matice skalárnych dátových typov a užívateľských vytvorené triedy rovnako . Použitie ukazovateľov a kľúčových slov zabudované do štandardnej knižnice C + + umožňuje prideľovanie pamäte a mazanie jednoduché. Veci , ktoré budete potrebovať klipart Textový editor klipart C /C + + kompilátora ( napríklad Microsoft Visual Studio alebo GCC )
Zobraziť ďalšie inštrukcie Cestuj 1

Vytvorte ukazovateľ dátový typ poľa bude obsahovať . Napríklad , dynamicky vytvoriť pole celých čísel , číslo ukazovateľ musí existovať odkazovať pole :

int * arr_ptr ;

ukazovateľ " arr_ptr " teraz umožní programátorovi odkaz hlboko pamäti pri spustení .
2

Kurzorom prideliť pamäť . " Nová " kľúčové slovo , ktoré je špecifické pre + + knižnice C ( a nie je k dispozícii v štandardnej C ) tvrdí , pamäť pri vykonávaní pre použitie volanie ukazovatele :

arr_ptr = new int [ 6 ] ;

Tu, " nové " kľúčové slovo chytí blok šiestich celých veľkých častí pamäti . Avšak , na rozdiel od polí deklarovanú pred behu , dynamická polia môžu byť deklarované s variabilnou vstup :

int i = 6 ;

arr_ptr = new int [ i ] ;

umožňuje programátorovi vytvoriť pole , ktoré môže zmeniť veľkosť na základe potreby skôr než vopred stanovený priestor označenie .
3

Prideliť pole vytvorené užívateľom dátových typov . Po postupe + + pridelenie pamäti C , môže programátor vytvárať polia dátových typov deklarovaných v samostatných triedach :

int i = 5 ;

newClass * class_ptr ;

class_ptr = new newClass [ i ] ; .

ukazovateľ " class_ptr " sa odkazovať na premennú " newClass " dátový typ , s najväčšou pravdepodobnosťou definované v opise triedy v inom súbore
4

Zmazať poľa . Ak pole už nie je potreba ( alebo bol skopírovaný do iného poľa , prípadne v priebehu operácie zmeny veľkosti ) programátor by mali zabezpečiť , aby ho odstrániť . Pridelenej pamäti , že nie je odstránený , ale už nie odvolával sa na , môže zaberajú pamäť a časom spôsobí to , čo je známe ako pretečeniu pamäte

int i = 5 ; .

NewClass * class_ptr ;

class_ptr = new newClass [ i ] ;

odstrániť class_ptr [ ] ;

Teraz , pole odkazuje " class_ptr " bude zmazaná a pamäť uvoľnená na iné účely .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené