Eliminación de array de objetos en C++

Necesidad de eliminación del objeto : Para evitar pérdidas de memoria , como cuando un objeto se crea dinámicamente usando new , ocupa memoria en la sección Heap . Si los objetos no se eliminan explícitamente, el programa se bloqueará durante el tiempo de ejecución. Programa 1: Cree un objeto de la clase que se … Continue reading «Eliminación de array de objetos en C++»

Inicialización dinámica de objeto en C++

En este artículo, discutiremos la inicialización dinámica de objetos usando constructores dinámicos . La inicialización dinámica del objeto se refiere a la inicialización de los objetos en tiempo de ejecución, es decir, el valor inicial de un objeto se proporciona durante el tiempo de ejecución. Se puede lograr usando constructores y pasando parámetros a los … Continue reading «Inicialización dinámica de objeto en C++»

¿Qué sucede si mezclamos lo nuevo y lo gratuito en C++?

Como sabemos, new se usa para crear memoria dinámicamente y es responsabilidad del programador eliminar la ubicación de la memoria explícitamente y se elimina utilizando la palabra clave delete . La sintaxis para crear memoria en tiempo de ejecución usando una nueva palabra clave: int *ptr = nuevo int; Creará una ubicación de memoria para … Continue reading «¿Qué sucede si mezclamos lo nuevo y lo gratuito en C++?»

C++ | nuevo y eliminar | Pregunta 5

¿Está bien llamar a eliminar dos veces para un puntero? #include<iostream> using namespace std;    int main() {     int *ptr = new int;     delete ptr;     delete ptr;     return 0; } (A) Sí (B) No Respuesta: (B) Explicación: Es un comportamiento indefinido llamar a eliminar dos veces en un puntero. Cualquier cosa puede pasar, el programa … Continue reading «C++ | nuevo y eliminar | Pregunta 5»

C++ | nuevo y eliminar | Pregunta 2

¿Cuál de los siguientes es cierto acerca de new en comparación con malloc. 1) new es un operador, malloc es una función 2) new llama al constructor, malloc no lo hace 3) new devuelve el puntero apropiado, malloc devuelve void * y el puntero debe encasillarse en el tipo apropiado. (A) 1 y 3 (B) … Continue reading «C++ | nuevo y eliminar | Pregunta 2»

C++ | nuevo y eliminar | Pregunta 1

¿Cómo crear una array dinámica de punteros (a enteros) de tamaño 10 usando new en C++? Sugerencia: podemos crear una array no dinámica usando int *arr[10] (A) int *arr = new int *[10]; (B) int **arr = nuevo int *[10]; (C) int *arr = nuevo int [10]; (D) Respuesta no posible : (B) Explicación: la … Continue reading «C++ | nuevo y eliminar | Pregunta 1»

C++ | nuevo y eliminar | Pregunta 3

¿Predecir la salida? #include <iostream> using namespace std;    class Test  {   int x;   Test() { x = 5;} };    int main() {    Test *t = new Test;    cout << t->x; } (A) Error del compilador (B) 5 (C) Valor basura (D) 0 Respuesta: (A) Explicación: Hay un error del compilador: Test::Test() es privado. … Continue reading «C++ | nuevo y eliminar | Pregunta 3»

C++ | nuevo y eliminar | Pregunta 4

¿Qué sucede cuando se usa eliminar para un puntero NULL? int *ptr = NULL; delete ptr;  (A) Error del compilador (B) Bloqueo en tiempo de ejecución (C) Sin efecto Respuesta: (C) Explicación: Eliminar un puntero nulo no tiene ningún efecto, por lo que no es necesario verificar si hay un puntero nulo antes de llamar … Continue reading «C++ | nuevo y eliminar | Pregunta 4»