1. "理想的程序库应该小,快速,威力强大,富有弹性,有扩展性,直观,可广泛运用,有良好支持,使用时没有束缚,而且没有‘臭虫‘".但实际上这种程序库是不可能实现的:要针对速度和大小做优化,往往要牺牲移植性;要有丰富的机能,结果可能不够直观......一个程序库往往要权衡各方面得失,采取折中的方法来实现.
2. 不同的程序库侧重点可能不一样,即使两个程序库机能类似,也可能有不同的性能表现.
考虑iostream和stdio程序库,stdio提供的I/O操作速度通常比iostream快,可执行文件也比iostream小,但iostream却提供了更好的扩展性和类型安全性(stdio的scanf和printf坑点比较多).具体使用那种库由需求决定,如果程序对I/O效率要求较高,那么stdio是最佳选择,否则,iostream的健壮性和可扩展性可能成为选择它的理由.(关于stdio和iostream的讨论,可见:http://www.zhihu.com/question/24076731?utm_campaign=rss&utm_medium=rss&utm_source=rss&utm_content=title)
正如程序如果有I/O瓶颈,可以考虑以stdio替代iostream一样,如果程序花费较多时间在动态内存分配和释放上面,也可以考虑其他提供了operator new和operator delete的产品.由于不同程序库在效率,扩充性,可移植性,类型安全性等方面有不同侧重,因而可根据需求选择最适合的程序库.
关于C++比较著名的程序库的介绍,可见:http://www.cnblogs.com/shenlian/archive/2011/08/25/2153826.html
时间: 2024-12-16 14:36:03