摘要: 1、与函数的参数传递不同,c++特别声明,不论被捕捉的exception是以by value或者by reference方式传递,一个对象被抛出作为exception时,总是会发生复制,而且复制动作是以对象的静态类型为本。 2、catch(Widget &w) { ... throw; } 和 ca 阅读全文
posted @ 2016-09-02 18:00 凯撒大猩猩 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 1、c++保证删除null指针是安全的,所以析构函数不必在删除指针之前先检查它们是否真正指向某些东西 2、养成良好的习惯:c++不能直接delete野指针,所以一般指针被delete之后,最好立即赋值为NULL,以免再次delete时出现问题。(释放后置NULL,不能释放前置NULL,否则可能造成内 阅读全文
posted @ 2016-08-16 17:46 凯撒大猩猩 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 当你有一个变量,但你不能够确定用来指向某个对象,还是不指向任何对象时,应当使用pointer,因为reference必须总是代表某个对象,因此pointer可以设定为NULL,但是reference不能够设定为NULL。 但是, char *p = NULL; char &r = *p; 以上行为会 阅读全文
posted @ 2016-08-08 18:19 凯撒大猩猩 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 前几天发现别人写的函数里有这样的操作, 调用的时候有些情况会造成崩溃, 在我看来,当if(fp==NULL),就表示 fopen打开不成功,应该不要使用fclose 关闭文件,否则fclose(NULL)必然会导致 crash。 应当改成 阅读全文
posted @ 2016-08-08 17:29 凯撒大猩猩 阅读(341) 评论(0) 推荐(1) 编辑