- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 8.了解各种不同意义的new和delete
new operator和 operator new的区别 通常我们使用的new是new operator。不能改变其意义。new operator做两件事。1、分配足够放置对象的内存。2、调用一个constructor,为刚才分配的内存中那个对象设定初值。 operator new的声明如下: void *operator new(size_t size); 我们可以重载这个ne
2015-03-01 14:43:39
359
原创 7.千万不要重载&& | | 和“,”操作符
如果重载&&或||,则会影响到“骤死式”,“骤死式”是指当用&&、 ||这些操作符时,默认为b b如果前面的b b是否正确。 如果重载&&,则表达式为operator&&(expreesion1, expreesion2)则无法确定谁判断哪个参数。 逗号表达式也是如此,如(a = 1, b = 2),从左往右执行,如果你重载了逗号表达式,则无法确定哪个参数先执行。
2015-02-28 16:11:26
301
原创 6.区别increment/decrement操作符的前置和后置形式
常见的前置和后置形式有++,在重载前置和后置的++时,为了区分后置的++调用的operator++(0),而前置的则没有0: operator++()。 前置后置重载函数的返回对象应该为const,因为要防止i++++;这样的语句出现,相当于调用了i.operator().operator(),第二个opertator所改变的对象是第一个operator返回的对象,而不是原对象。也就是
2015-02-26 15:46:37
353
原创 5.对定制的“类型转换函数”保持警觉
编译器通常会自动执行隐式类型转换,害处将多过好处。所以不要提供转换函数。 1.隐式类型转换操作符在类中声明的格式为operator + 关键字类型(); 例: class Student{ public: operator char( );} 这样你就相当于提供了能隐式转换为char的类型。但我们最好不要提供这样的转换函数,
2015-02-25 19:09:34
258
原创 Splash-运行软件前的图片
怎么去让软件运行前先有个图片显示出来,会显得比较高大上?呃.....当初为了找了这个教学,我可是花了不少时间在网上搜,一直没找到,很久之后才知道这个技术叫做Splash,然后好不容易搜到了相应的代码,现在也对这个讲解一下。 Splash的原理大概是在你的主窗口运行之前我们再创建一个新窗口,这个新窗口显示的你想要显示的图片,再新窗口上设一个定时器,时间到了就自动销毁,就这么简单。
2015-02-24 22:40:28
924
原创 4.非必要不提供default constructor
注:不必要提供default constructor不代表没有constructor。缺乏default constructor可能产生的问题:1.无法产生数组Class T[10]; //错误的,无法调用default constructor 一般的解决办法是使用指针数组,即10个类对象的指针。Class *T[10];Class *T = new
2015-02-24 22:29:14
434
原创 3.绝对不要以多态方式处理数组
主要的原因是数组涉及到指针算术。 如果一个派生类数组进入一个以基类数组为形参的输出函数中,要用到for循环将每个derived[i]遍历,但编译器实际遍历的格式是按基类输出的,也就是base[1]..base[2],而不是derived[1]..derived[2],这样就会出错,在一些释放内存的时候也会发生这样的事。
2015-02-13 20:00:34
455
原创 一、窗口的创建
一、学习窗口的原因 1.可以了解窗口底层的运行机制 2.简便,因为用MFC也是可以直接就弄出一个窗口,可以MFC中封装了太多没用的代码,效率也是一个很重要的原因。 当然,我现在仅仅是在游戏编程的时候会自己编写窗口,其他做软件什么的还是暂时先用MFC吧(对于用C++的新手而言)
2015-02-12 18:04:34
263
原创 2.尽量使用C++风格的类型转换
1.使用C++风格的类型转换的原因 在C++中,许多用惯了C的人还是喜欢用那种普通的类型转换。因为简单又方便。那为什么还要推出C++风格的类型转换呢? (1). 以偏概全 举个简单的例子,C++中有类的知识点,两个类之间的对象(变量)怎么进行转换? (2
2015-02-12 00:35:03
393
原创 1.指针和引用的区别
在学习这本书的过程中自己并不是对知识点理解得很透彻,毕竟我没有参加过一些项目,只是自己随便写写代码。可能没有太多的醍醐灌顶的时候,写下这篇文章是希望能给自己总结的同时能帮助一些对C++感兴趣的朋友,对于文章中不正确的地方希望大家能够多多指正。 1.引用必须要初始化 一般来说在创建指针的时候是可以不用赋值的,没有赋值的指针在编译的是可以通过的,只不过会产生一个警告提示
2015-02-11 01:45:14
790
Snapdragon Profiler v2019.2 Windows版 002
2019-08-23
Snapdragon Profiler v2019.2 Windows版 001
2019-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人