Visual C++ .NET - Punteros!!

 
Vista:

Punteros!!

Publicado por Alfonso (1 intervención) el 05/05/2011 21:45:05
Hola a todos!!

Os comento, estoy empezando a dar mis primeros pasos en c++, aunque ya tengo mis conocimientos en JAVA y C#, pero tengo una duda que me gustaria aclarar antes de adentrarme mas, aunque se que es adelantarme algo en la materia.

Me queda claro que los punteros son variables que almacenan direcciones de memoria, la cuestion es ¿en la practica que uso realmente se le llega a dar a estos? por lo que puedo llegar a entender es que si se en que lugar de la memoria se almacena una varible es posible que desde cualquier punto de codigo pueda acceder a esta ya que se trabaja a un bajo nivel y conozco su ubicación en la memoria.

En definitiva en un par de ejemplos que me podais dar ¿para que hechamos mano de ellos?

Un saludo y gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Uso práctico de punteros

Publicado por Alejandro (265 intervenciones) el 09/02/2024 17:56:15
¡Hola Alfonso! Es genial que estés explorando C++ después de tener experiencia en JAVA y C#. Respecto a tu pregunta sobre punteros, en C++ se utilizan de varias maneras, y aquí te doy dos ejemplos prácticos:

1. Dinámica de memoria:
- Problema:
En C++, puedes asignar memoria dinámicamente utilizando `new` para crear objetos en el heap.
- Solución:
1
2
3
4
int* pNumero = new int; // Asigna un entero en el heap
*pNumero = 42; // Accede y modifica el valor a través del puntero
// ...
delete pNumero; // Libera la memoria asignada cuando ya no se necesita
- Explicación:
Este enfoque es útil cuando necesitas gestionar manualmente la memoria, controlando el ciclo de vida de los objetos y evitando posibles fugas de memoria.

2. Manipulación de arreglos:
- Problema:
Acceder y manipular elementos de un array directamente en memoria.
- Solución:
1
2
3
4
5
int arr[5] = {1, 2, 3, 4, 5};
int* pArr = arr; // El puntero apunta al primer elemento del array
for (int i = 0; i < 5; ++i) {
    cout << *(pArr + i) << " "; // Accede a los elementos del array mediante el puntero
}
- Explicación:
Los punteros permiten un acceso directo y eficiente a los elementos de un array, y pueden ser útiles en situaciones donde necesitas manipular la memoria de manera más específica.

Recuerda que, aunque los punteros brindan un mayor control sobre la memoria, también pueden ser propensos a errores si no se utilizan con cuidado. Es importante comprender bien su funcionamiento y prácticas seguras. ¡Buena suerte con tus estudios de C++!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar