set_new_handler
来源:互联网 发布:w10系统怎么连接网络 编辑:程序博客网 时间:2024/05/16 09:32
函数原型:
new_handler set_new_handler (new_handler new_p) throw();
它的参数是一个指针,指向new无法分配足够空间时改被调用的函数,返回值也是个指针,指向set_new_handler被调用前正在执行的那个new-handler函数。
当perator无法申请到足够内存时,它会反复调用new_handler函数,知道找到足够内存,下面的例子new操作无法申请1G内存时,直接调用no_memory,然后执行exit退出程序。
// new_handler example#include <iostream> // std::cout#include <cstdlib> // std::exit#include <new> // std::set_new_handlervoid no_memory () { std::cout << "Failed to allocate memory!\n"; std::exit (1);}int main () { std::set_new_handler(no_memory); std::cout << "Attempting to allocate 1 GiB..."; char* p = new char [1024*1024*1024]; std::cout << "Ok\n"; delete[] p; return 0;}
结果:
Attempting to allocate 1 GiB...Failed to allocate memory!
0 0
- set_new_handler
- set_new_handler
- Set_New_Handler()
- set_new_handler
- set_new_handler
- set_new_handler
- new_handler & set_new_handler
- 转:Set_New_Handler()
- set_new_handler用法
- 关于set_new_handler
- set_new_handler() C++
- 关于set_new_handler
- 关于set_new_handler
- set_new_handler()总结
- set_new_handler用法
- std::set_new_handler
- 关于set_new_handler
- 关于set_new_handler(转载)
- install jdk 1316 error
- [主席树] BZOJ 2588 Spoj 10628. Count on a tree
- Linux命令行执行.sql文件及常用sql命令
- Android开发之本地音乐播放器(简单粗暴版)
- 【cocos2d-x从c++到js】13:回调函数2——JSCallbackWrapper
- set_new_handler
- Android动画之布局动画
- 高质量C编程10-常用知识点收集
- 项目适配iOS9遇到的一些问题及解决办法
- Python中安装numpy
- mysql 优化
- [解决] Cloudera Manager安装锁的问题
- innerText和innerHTML的区别和用法
- 共享收集的图像处理方面的一些资源和网站。