new个妹子的话题
来源:互联网 发布:ipad软件无法上网 编辑:程序博客网 时间:2024/05/01 05:32
void* rawMem= operator new(sizeof(Meizi)* 5);Meizi *meizi = new(rawMem) Meizi[5];
0、不着边际的瞎扯
程序员找不着对象,所以有人出主意:new一个啊。
你以为妹子是随便就new出来的么,首先你要解决几个问题:
1、new个什么样的妹子。
2、new多少个妹子。
3、把妹子new在哪儿。
第一个问题决定了你的妹子的class,第二个问题解决了你的妹子是单个还是数组,第三个问题则解决了你的妹子的别野的问题(哈哈哈)。
1、屌丝new
这个大家都见过了,而且各种有new的语言长相都这样:
假设有个class叫
class Meizi{};那么new一个妹子的屌丝做法就是:
Meizi *meizi = new Meizi();
具体说来就是,你去婚介,跟婚介的人说,有妹子就行。。于是婚介就随便在堆上找了一块儿内存,给你new了一个。new的过程呢,由于都是默认的,所以具体占用的内存位置和长相都没有跟你商量,只是new出来以后告诉你,这就是你要的。
……
(十年之后……)
meizi嫌弃你了,所以你就要跟ta断绝往来,于是就
delete meizi;
完事儿。
2、土豪new
如果您是土豪,可能会采取下面的方式:
Meizi *meizi = new Meizi[N];房子多,哈哈。
一月之后……
delete[] meizi;
3、神秘new(placement new)
就是你很久之前就有了一套别墅,然后这时候想要有个ta,让ta去住。神秘new。不能让原配知道~~
void* rawMem = operator new(sizeof(Meizi)* 5);Meizi *meizi= new(rawMem) Meizi[5];
rawMem是房子的地址,强调这是一房子,里面是什么不知道:
然后不是房价涨了么,你要卖房子~~
delete[] meizi;delete rawMem行不行?您要拆迁,总得先让人搬出来吧。
delete meizi行不行?哦,您只管一个,其他的都不管了是么。
4、东窗事发……
资源总是有限的。而且还受河东“先生”的约束,总是会出现磕磕碰碰。
买不到房子妹子能跟你么?至少丈母娘不愿意跟你。
买不到的时候,就处理处理下面的事情,总不能直接exit不活了吧。处理什么呢?
newHandler里面可以定义你要处理的事儿,比如微信全民打飞机消遣一会儿什么的。只要在你的main函数一开始执行setNewHandler(*pFunc),而这个func就是一个无参无返回的函数指针newHandler。
--------------------------------------------------------------------------------------------------------
其实知道了上面的这些东西,C++里面的new大体上也就了解了。不同于直接定义值类型,new出来的房子一定是在堆内存上,堆内存的访问没有栈内存快,频繁的分配释放也容易造成碎片,但它的特点是较大,较灵活,系统没有必要把堆内存作为一个连续的内存块分配给你。嗯,所以各个学校都在搞郊区的分校,因为市内实在是没有内存给它们了。咳咳。。
new 的时候我们似乎不怎么关心内存不够的问题,因为我们似乎根本遇不到这种情况。哦,如果你的目标设备是嵌入式设备,或是移动设备,那即便是iPhone,内存也不是很大嘛。所以newHandler就是用来支持这种问题的处理的。
new就干了两件事儿,分配内存,初始化对象,当然我们也看到神秘new居然把这两步分开来搞,这种做法不是很常见,但对于写底层框架似乎也是免不了出现。
- new个妹子的话题
- 求职者应该避免的18个话题
- 给程序媛妹子的4个贴心建议
- 2014最热门的10个Java话题
- 今年最具争议的8个Java话题
- 没错,我就是个妹子
- 妹子的flash作业
- 一个妹子的照片
- 妹子的心声
- 跑动的妹子
- 妹子!
- 为了追妹子,做了个demo
- 世界上第一位程序员竟然是个妹子
- 关于IDE的话题
- Shawn的世界杯话题
- 永恒的话题--分页
- 信息化的几个话题
- C++继承的话题
- 在arm开发板上执行hello时报错:permission denied的解决方法
- hdu2642之二维树状数组
- python静态方法
- 重学c语言系列一(gcc编译过程)
- Unity3D中的Animator动画控制
- new个妹子的话题
- Android 命名规范
- 大数据——数据量级单位汇总
- 并查集的偏移向量的学习
- mac 文件夹 隐藏和显示
- 数据库设计三大范式
- 点九:避免Andriod平台图片失真的图片形式
- inet_pton函数
- 在C++中用虚函数的作用是什么? 为什么要用到虚函数?