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>| Déclaré dans l'en-tête <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
.
Exemple
#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;
}
}
}
Résultat :
std::bad_alloc
Allocation returned nullptr
Voir aussi
type de variable utilisé pour sélectionner une fonction non jets de répartition 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) | |
fonctions d'allocation 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. (fonction) | |