摘要: 条款十六:80-20法则 20%的代码占用了80%的执行时间、内存等等,因此需要化大部分时间编写 条款十七:缓式评估 利用 区分读写、生成表达式等方式避免立刻计算 条款十八:分期摊还预期的计算成本 超急评估:例如某些容器总是以二倍当前容量扩展。 某些运算的结果不总是需要时利用缓式评估可以改善效率,而 阅读全文
posted @ 2022-03-11 16:07 axingzheng 阅读(36) 评论(0) 推荐(0)
摘要: 条款九:利用deconstructor避免资源泄露 将资源封装在对象中(如指针),利用对象离开作用域会自动析构的原理将资源释放,阻止资源的泄露。 条款十:在constructor组织资源泄露 C++只会析构已经构造完成的对象,如果构造过程中出现exceptions,则不会调用析构函数可能出现资源的泄 阅读全文
posted @ 2022-03-10 21:27 axingzheng 阅读(27) 评论(0) 推荐(0)
摘要: 条款五:对定制的类型转换函数保持警觉 两类可以由编译器完成类型转换的函数:单变量constructor和隐式类型转换操作符,其中隐式类型转换函数 1 class Rational{ 2 public: 3 Rational(int numerator = 0, int denominaion = 1 阅读全文
posted @ 2022-03-10 16:31 axingzheng 阅读(32) 评论(0) 推荐(0)
摘要: 条款一:区别pointers和references 指针:可以更改指向的对象,不需要初始化,需要检测合法性(是否是NULL) 引用:不能更改指向对象,需要一个对象来初始化,实现某些操作符, 如 operator [] 条款二:C++转型符 C++相比C增加了四类转型操作符 static_cast / 阅读全文
posted @ 2022-03-09 21:30 axingzheng 阅读(24) 评论(0) 推荐(0)