std::nothrow
De cppreference.com
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
<metanoindex/>
<tbody> </tbody>| Definido no cabeçalho <new>
|
||
extern const std::nothrow_t nothrow; |
||
std::nothrow is a constant of type std::nothrow_t used to disambiguate the overloads of throwing and non-throwing
.
Exemplo
#include <iostream>
#include <new>
int main()
{
try {
while (true) {
new int[100000000ul]; // throwing overload
}
} catch (const std::bad_alloc& e) {
std::cout << e.what() << '\n';
}
while (true) {
int* p = new(std::nothrow) int[100000000ul]; // non-throwing overload
if (p == nullptr) {
std::cout << "Allocation returned nullptr\n";
break;
}
}
}
Saída:
std::bad_alloc
Allocation returned nullptr
Veja também
tipo de etiqueta usada para selecionar uma função não arremesso de alocação Original: tag type used to select an non-throwing allocation function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe) | |
funções de alocação Original: allocation functions The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (função) |