【像程序员一样思考】读书笔记4
1.如果多个变量同时指向一个内存并且调用Delete删除了其中任意一个变量,实际上就为所有的变量销毁了这块内存。如果没有明确的把其他这些变量设置为NULL,他们此时就成为了野指针,对野指针调用delete将会产生运行错误。
2.每当使用new时,要考虑在哪里以及什么时候使用对应的delete。
3.引用参数和值参数: 例如 void concatenate(arrayString& s1,arrayString s2) 中,s1位引用参数,调用 cencatenate函数后,s1将会改变,指向新的内存,而s2不会改变。
4.被频繁调用的函数,应当特别注意尽量使其高效的实现。
5.根据一个示例创建代码时,必须检查潜在的特殊情况。