- 博客(8)
- 资源 (17)
- 收藏
- 关注
原创 warning: deleting 'void *' is undefined
delete一个void*类型的指针,在gcc下面编译会报一个warning,那么究竟要不要理会这个warning呢?如果我们new出来的指针是一个基本类型,没什么关系,内存还是会被释放的,但是如果是一个类对象指针,在处理过程中转成了void*,那就有问题了,析构函数将不会被调用。这个和用delete删除指针数组是一样的结果。
2012-11-30 10:28:05 6255 1
转载 c++中临时变量不能作为非const的引用参数
引自:http://blog.baisi.net/?116670/viewspace-4407试看下面的代码:#include using namespace std;void f(int &a) { cout }void g(const int &a){ cout } int main() { int a = 3
2012-11-30 10:06:11 1040
转载 不能在析构函数里面抛出异常
从语法上面讲,析构函数抛出异常是可以的,C++并没有禁止析构函数引发异常,但是C++不推荐这一做法,从析构函数中抛出异常是及其危险的。析构函数可能在对象正常结束生命周期时调用,也可能在有异常发生时从函数堆栈清理时调用。前一种情况抛出异常不会有无法预料的结果,可以正常捕获;但后一种情况下,因为函数发生了异常而导致函数的局部变量的析构函数被调用,析构函数又抛出异常,本来局部对象抛出的异常应该是
2012-11-22 17:29:37 12697 3
原创 构造函数失败
什么函数都有可能失败,构造函数也不另外,比如new一个对象或空间不成功。当构造函数失败的时候,其实很多时候我们不想这个对象被继续生成,这个时候就可以在构造函数里面抛出异常。C++规定构造函数抛出异常之后,对象将不被创建,析构函数也不会被执行,但已经创建成功的部分(比如一个类成员变量)会被部分逆序析构,不会产生内存泄漏。但有些资源需要在抛出异常前自己清理掉,比如打开成功的一个文件,最好关闭掉再抛出异
2012-11-22 17:11:12 8026
原创 C++中的聚合类
聚合类是一种没有用户定义的构造函数,没有私有(private)和保护(protected)非静态数据成员,没有基类,没有虚函数。这样的类可以由封闭的大括号用逗号分隔开初始化列表。下列的代码在 C 和 C++ 具有相同的语法:struct C{ int a; double b;}; struct D{ int a; double b; C c;};
2012-11-22 09:56:59 17294 2
原创 杭州车辆监测站信息
第一检测站更名为杭州警苑综合服务部第一车辆检测站 留泗路外桐坞村4号 电话:87978117(正在办理移机手续) 周一至周六8:30-12:00,13:30-16:30第二检测站更名为杭州警苑综合服务部第二车辆检测站 滨江区滨康路222号 电话:86685694 周一至周五、周日8:30-12:00,13:30-16:30第三检测站更名为杭州警苑综合服务部第三车辆检测站 下沙盛安路50号
2012-11-21 15:47:30 3763
原创 历史文化知识
三宝殿中国有句俗话叫「无事不登三宝殿」,三宝殿是指北京的太和殿、孔庙的大成殿、泰山岱庙。南无阿弥陀佛“南无”,是梵文Namas的音译,读作那谟,亦译作“南谟”等,意为致敬、归敬、归命,是佛教信徒一心归顺于佛的用语,常用来加在佛、菩萨的名称或经典题名之前,表示对佛、法的尊敬和虔信,如南无三宝等。“阿弥陀佛”,是梵文Amitabha的音译,密教称甘露
2012-11-15 18:59:18 1053
转载 软件开发中常见的十大系统瓶颈
摘要:在平时开发工作中,你可能在开发的各方面遭遇瓶颈,比如性能、系统等。你有对它们进行过归纳吗?不妨来看看本文对这些系统瓶颈的归类吧!在Zen And The Art Of Scaling - A Koan And Epigram Approach中,Russell Sullivan提出了一个非常有趣的总结:软件开发常见的20个传统的系统瓶颈,这听起来像是说有20个故事情节,并且依
2012-11-09 13:35:40 762
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人