效率 从两个方面阐述-率的问题:第一是从语言独立的角度-高性能的算法和数据结构,第二是c++语言本身 知识点16:牢记80-20准则 80-20准则说的是大约20%的代码使用了80%的程序资源: 大约20%的代码耗用了大约80%的运行时间; 大约20%的代码使用了80%的内存; 大约20%的代码执行80%的磁盘访问; 大约80%的维护投入在20%的代码上。 使用profiler程序识别出令人讨厌的程序的20%部分。 知识点17:考虑使用lazy evaluation(懒惰计算法) 引用计数: 除非确实需要不要为任何东西制作拷贝,避免不需要的对象拷贝。 区别对待读取和写入:通过使用operator[]区分出读操作。 Lazy Fetching(懒惰提取):mutable(任何函数中都能被改变包括const函数),避免不需要的数据库读取操作。 Lazy Expression Evaluation(懒惰表达式计算):避免不需要的数字操作。 知识点18:分期摊还期望的计算 当必须支持某些操作而不总是需要其结果时,lazy evaluation是在这样时候使用的用以提高程序效率的技术。 当必须支持某些操作而其结果几乎总是被需要或者不止一次地需要时,over-eager是在这种时候使用的用以提高程序效率的一种技术。 知识点19:理解临时对象的来源 1.在c++中真正的临时对象时看不见的