std::set_new_handler
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. |
| Défini dans l'en-tête <new>
|
||
| std::new_handler set_new_handler(std::new_handler new_p) |
||
Fait
new_p la nouvelle donne mondiale nouvelle fonction gestionnaire et renvoie le déjà installé la nouvelle gestionnaire .Original:
Makes
new_p the new global new-handler function and returns the previously installed new-handler.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Sommaire |
[modifier] Notes
La fonction' new-handler est la fonction appelée par <div class="t-tr-text">fonctions d'allocation
chaque fois qu'une tentative d'allocation de mémoire échoue. Son but visé est l'une des trois choses suivantes:Original:
allocation functions
The text has been machine-translated via [http://translate.google.com Google Translate].
You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.
You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.
Original:
The new-handler function is the function called by
fonctions d'allocation</div> whenever a memory allocation attempt fails. Its intended purpose is one of three things:
Original:
allocation functions
The text has been machine-translated via [http://translate.google.com Google Translate].
You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.
You can help to correct and verify the translation. Click [http://en.cppreference.com/w/Cppreference:MachineTranslations here] for instructions.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
libérer de la mémoire
2) Original:
make more memory available
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
terminer le programme (par exemple par std::terminate appel)
3) Original:
terminate the program (e.g. by calling std::terminate)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
jeter exception de std::bad_alloc type ou dérivé de std::bad_alloc
Original:
throw exception of type std::bad_alloc or derived from std::bad_alloc
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Si les rendements' nouveau gestionnaire, la fonction d'allocation continue d'essayer d'allocation précédemment échoué et appelle la nouvelle nouveau-gestionnaire si l'allocation échoue à nouveau. Pour terminer la boucle, nouvelle-gestionnaire peut appeler std::set_new_handler(nullptr): si, après une tentative allocation échoue, la fonction d'allocation constate que std::get_new_handler retourne une valeur de pointeur null, il std::bad_alloc jeter .
Original:
If new-handler returns, the allocation function repeats the previously-failed allocation attempt and calls the new-handler again if the allocation fails again. To end the loop, new-handler may call std::set_new_handler(nullptr): if, after a failed allocation attempt, allocation function finds that std::get_new_handler returns a null pointer value, it will throw std::bad_alloc.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Au démarrage du programme, nouveau gestionnaire d' est un pointeur nul .
Original:
At program startup, new-handler is a null pointer.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifier] Paramètres
| new_p | - | un pointeur de fonction de std::new_handler type, ou un pointeur NULL
Original: pointer to function of type std::new_handler, or null pointer The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
[modifier] Retourne la valeur
Le gestionnaire installé précédemment nouvelle, ou une valeur de pointeur null si aucune n'a été installé .
Original:
The previously-installed new handler, or a null pointer value if none was installed.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[modifier] Exceptions
[modifier] Exemple
#include <iostream> #include <new> void handler() { std::cout << "Memory allocation failed, terminating\n"; std::set_new_handler(nullptr); } int main() { std::set_new_handler(handler); try { while(true) new int[100000000ul]; }catch(const std::bad_alloc& e) { std::cout << e.what() << '\n'; } }
Résultat :
Memory allocation failed, terminating std::bad_alloc
[modifier] Voir aussi
| 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) | |
| set_new_handler |
enregistre un nouveau gestionnaire Original: registers a new handler The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (fonction) |
| Type de pointeur de fonction du nouveau gestionnaire Original: function pointer type of the new handler The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (typedef) | |
| Exception levée lorsque l'allocation de mémoire échoue Original: exception thrown when memory allocation fails The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (classe) | |