04.06.2015 Views

Manual básico de Programación en C++

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

2.8. ASIGNACION DINAMICA DE MEMORIA MEDIANTE NEW Y DELETE<br />

En <strong>C++</strong>, el <strong>en</strong>unciado<br />

ptr = new typeName;<br />

asigna memoria para un objeto <strong>de</strong>l tipo typeName. El operador new crea<br />

automáticam<strong>en</strong>te un objeto <strong>de</strong>l tamaño apropiado, y regresa un apuntador (ptr)<strong>de</strong>l tipo<br />

apropiado. Si mediante new no se pue<strong>de</strong> asignar memoria, se regresa un apuntador nulo.<br />

Para liberar el espacio para este objeto se usa <strong>de</strong>lete ptr;<br />

El operador <strong>de</strong>lete sólo pue<strong>de</strong> ser utilizado para <strong>de</strong>sasignar memoria ya asignada<br />

mediante el operando new.<br />

2.9. OPERADOR DE RESOLUCION DE ALCANCE UNARIO<br />

Es posible <strong>de</strong>clarar variables locales y globales con un mismo nombre. <strong>C++</strong> dispone<br />

<strong>de</strong>l operador <strong>de</strong> resolución <strong>de</strong> alcance unario ( :: ) para t<strong>en</strong>er acceso a una variable<br />

global cuando está <strong>en</strong> alcance una variable local con el mismo nombre. No pue<strong>de</strong> ser<br />

utilizado para t<strong>en</strong>er acceso a una variable <strong>de</strong>l mismo nombre <strong>en</strong> un bloque externo.<br />

Ejemplo:<br />

#inclu<strong>de</strong> <br />

float v;<br />

int main( )<br />

{<br />

int v = 7;<br />

::v = 10.5; // Utilizar la variable global v<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!