He visto que los recursos muestran dos formas de asignar memoria al mismo tiempo que se garantiza que haya suficiente memoria para completar la operación.cómo asignar correctamente la memoria en C++ en condiciones de poca memoria
1) Papel de la 'nueva' operación en un try/catch ya que regresará std :: bad_alloc (?)
try { ptr = new unsigned char[num_bytes]; } catch(...) {}
2) comprobar el puntero nulo asignado para después de la 'nueva' operación .
ptr = new unsigned char[num_bytes]; if(ptr == NULL) { ... }
¿Cuál es la correcta? ¿Ambos trabajan? ¿Debo hacer tal vez 1 y 2?
Gracias,
JBU
oooh esto es quizás lo que debería hacer en su lugar, para reducir la cantidad de código que necesitaré cambiar. – jbu
@jbu: también tenga en cuenta que algunos códigos se compilan con excepciones desactivadas. Esto no es estándar, y en este caso necesitará leer el documento del compilador, pero es probable que 'nuevo' devuelva 0 si falla. –