overflow
necesito el codigo para un stack full usando el metodo overflow en c++, si pudieran darme un ejemplo de cuando usar el overflow
Todo depende de como implementes el stack.
[1] : para un stack con pointers, stack full ocurre cuando con hay lugar en la memoria, por ejemplo el operador new devuelve NULL.
[2] : para un stack implementado en un array, stack full ocurre con el array lleno.
[1] : para un stack con pointers, stack full ocurre cuando con hay lugar en la memoria, por ejemplo el operador new devuelve NULL.
[2] : para un stack implementado en un array, stack full ocurre con el array lleno.
Hola Noel, hace ya diez años que el operador new no devuelve más NULL cuando falla una asignación. En su lugar, lanza la excepción std::bad_alloc
Construcciones antiguas como esta:
p = new Algo;
if (!p) // No usar más!!
{
cout<<"Este mensaje nunca se mostrará";
// jamás pasará por aquí...
}
se reemplazan por:
try {
p = new Algo;
}
catch(std::bad_alloc &QueMal) {
cout << "fallo en la asignación de memoria...";
// tratar de dar alguna solución o intentar retirarse con decoro...
}
Claro que existen situaciones donde se impone seguir escribiendo código que sabemos que sólo es válido para algún compilador obsoleto, perimido y para ninguno más; por ejemplo, curiosamente, en la escuela.
Alejandro
Construcciones antiguas como esta:
p = new Algo;
if (!p) // No usar más!!
{
cout<<"Este mensaje nunca se mostrará";
// jamás pasará por aquí...
}
se reemplazan por:
try {
p = new Algo;
}
catch(std::bad_alloc &QueMal) {
cout << "fallo en la asignación de memoria...";
// tratar de dar alguna solución o intentar retirarse con decoro...
}
Claro que existen situaciones donde se impone seguir escribiendo código que sabemos que sólo es válido para algún compilador obsoleto, perimido y para ninguno más; por ejemplo, curiosamente, en la escuela.
Alejandro
> En mi compilador "si" devuelve NULL.
Reflexiona. ¿Se trataba de "programación en C++"? ¿O era "Programación con el compilador de Noel" ?
Aunque, como es habitual, lo más probable es que me esté equivocando, y que no se trate de nada de eso.
Reflexiona. ¿Se trataba de "programación en C++"? ¿O era "Programación con el compilador de Noel" ?
Aunque, como es habitual, lo más probable es que me esté equivocando, y que no se trate de nada de eso.
Estimado Alejandro, por supuesto que tenes razon,
pero no se trata de "mi compliador", yo uso los compliladores del Sr. C. Borland y hasta ahora resultaron todos ++.
pero no se trata de "mi compliador", yo uso los compliladores del Sr. C. Borland y hasta ahora resultaron todos ++.
En mi compilador "si" devuelve NULL.
Vuelvo a repetirte el viejo dicho : el peor enemigo de lo bueno es lo mejor.
Cada cual planifica de acuerdo al sistema en eso, y no de acuerdo a hipoteticas posibilidades futuras, que no solo no complican la vida innecesariamente, sino, y
esto es lo peor solo sirven para confundir a los que necesitan algun tipo de ayuda ! ! !
Vuelvo a repetirte el viejo dicho : el peor enemigo de lo bueno es lo mejor.
Cada cual planifica de acuerdo al sistema en eso, y no de acuerdo a hipoteticas posibilidades futuras, que no solo no complican la vida innecesariamente, sino, y
esto es lo peor solo sirven para confundir a los que necesitan algun tipo de ayuda ! ! !
