Cual es la diferencia entre declarar la clase con punteros y sin punteros?

Sebastián Buitrago

Sebastián Buitrago

Pregunta
studenthace 4 años

Cual es la diferencia entre declarar la clase con punteros y sin punteros?

3 respuestas
para escribir tu comentario
    N40 M10

    N40 M10

    studenthace 3 años

    ¿Eso significa que siempre es mejor utilizar punteros?

    marco antonio

    marco antonio

    studenthace 4 años

    simple de la forma tradicional si tu declaras tus variables estas ocuparan un espacio en memoria la ocupes o no y estas solo liberaran su memoria al concluir el bloque de código o la finalización del programa, el problema viene si tienes no se unas 1000 o mas variables y créeme las vas a tener para empezar el primer problema seria ¿cuantas variables necesitara el programa realmente no lo sabes puede ser 1 o 1001 en el mejor de los casos si tienes 1 hay 999 que te roban memoria de manera inutil ese el problema de la variables tradicionales ""entre comillas"".

    Con punteros no hay limites puedes hacer que vivan y mueran cuando quieras liberando memoria a tu antojo con delete.
    Segundo puedes crear tantos objetos de la clase como lo pida el programa es decir programas las condiciones para el programa reserve y gestione por si solo la cantidad de objetos que necesite es como append de las listas de Python (los vectores lista y maps de C++ se la inventaron pero detalles menores) solo que mejor ya que usar, eliminar, reusar, convertir, transferir, crear, repuntar, reasignar y deconstruir a complacencia . Y tercero con los punteros puedes castear tus objetos y convertir un objeto persona y convertirlo aun objeto perro suena raro pero en C++ puedes, este es el principio y la base del polimorfismo

    Carlos Eduardo Gomez García

    Carlos Eduardo Gomez García

    teacherhace 4 años

    Primero recuerda que no está declarando la clase, sino haciendo una instancia de la clase, es muy diferente declarar una clase a instanciarla 👀.

    Ahora, con respecto a tu pregunta, la diferencia es que básicamente con un puntero tienes la dirección de memoria de dicha instancia, te recomiendo repasar la clase de punteros para que lo entiendas un poquito mejor. 😄

Curso de Programación Orientada a Objetos con C++

Curso de Programación Orientada a Objetos con C++

Comprende cómo gestionar memoria, punteros, y clases para aplicar la programación orientada a objetos con C++. Crea estructuras y hereda clases, utilizando polimorfismo y atributos estáticos, mientras profundizas en técnicas avanzadas.

Curso de Programación Orientada a Objetos con C++
Curso de Programación Orientada a Objetos con C++

Curso de Programación Orientada a Objetos con C++

Comprende cómo gestionar memoria, punteros, y clases para aplicar la programación orientada a objetos con C++. Crea estructuras y hereda clases, utilizando polimorfismo y atributos estáticos, mientras profundizas en técnicas avanzadas.