STL学习与实践:挑战与效率

需积分: 11 1 下载量 38 浏览量 更新于2024-11-15 收藏 1.04MB PDF 举报
"Eff_STL_CN" 本文档是关于STL(Standard Template Library,标准模板库)的学习指南,作者通过自身的经验和观察,揭示了STL在实际应用中的挑战和优势。标题"Eff_STL_CN"可能是指高效使用STL的中文教程。 在1995年,作者首次接触STL,并在《MoreEffectiveC++》中简要介绍了STL。随着对STL的理解加深,作者开始收到读者询问何时会出版专门讨论STL有效使用的书籍,即《Effective STL》。然而,由于STL的复杂性和当时编译器对模板支持的不成熟,作者对推广STL持谨慎态度。STL的设计在效率和可扩展性方面表现出色,但其学习曲线陡峭,库的实现差异大,编译器诊断信息复杂难懂,以及缺乏高质量的文档,都成为了使用STL的障碍。 尽管面临这些挑战,作者注意到许多专业开发者仍然在实际项目中广泛采用STL。他们克服了移植性问题、文档不足和复杂的错误信息,表明STL的实用性超过了其缺点。作者认为,STL的设计理念和功能使其成为程序员的首选,即便实现可能不尽完美。 随着时间的发展,STL的生态环境正在改善。库和编译器对标准的兼容性增强,文档质量提高,例如提到的已经存在的更好文档,这些都为学习和使用STL提供了更多帮助。作者预计STL的接受度和实用性将不断上升。 文章中提到的核心知识点包括: 1. STL的起源和发展:作者在1995年开始关注STL,那时它是C++社区的新事物。 2. STL的优点:高度优化的容器、迭代器和算法,提供高效和可扩展的编程方式。 3. STL的挑战:库实现的不一致性,编译器对模板的支持问题,学习曲线陡峭,文档匮乏。 4. STL的广泛应用:即使面临困难,专业开发人员仍在实际产品中使用STL,显示其强大吸引力。 5. STL的未来展望:随着标准的统一和编译器的进步,STL的使用体验将进一步提升,文档也会更加完善。 通过这篇文档,读者可以了解到STL在C++编程中的重要地位,以及如何克服使用过程中的障碍,从而更有效地利用STL进行开发。
2019-09-02 上传
一、下载和存放位置 请大家下载后,放到 ado/base/s 这个文件夹下,到时候才可以自动调取命令 二、相关命令 中介效应命令: sgmediation y, mv() iv() cv() 中介效应+自抽样命令: bootstrap r(ind_eff) r(dir_eff),reps(1000) : sgmediation y, mv() iv() cv() estat bootstrap,percentile bc 三、仍然出现r(ind_eff)' evaluated to missing in full sample r(322);错误 我仔细研究了一下中介效应的原理和计算方式,所以才之前ado包的基础上发现了这个能跑出来的结果。这里,针对下载包之后仍出不来结果的情况解释一下 1,在下载我这个包之前,下载过其他sgmediation的包,造成冲突,跑不出来结果 解决办法:改动三个地方,把时光,sgmediation变成sgmediation1 (1)sgmediation命令包的文件名 (2)ado包按照do文件的方式打开,将第12行programme define 后面改成 sgmediation1 (3)调用命令时 bootstrap冒号后面也改成sgmediation 原理:之前你下载了别的ado包,已经有个叫张三(sgmediation)的了,你喊张三,只能出来张三,现在通过改命令,变成张三1(sgmediation1),就实现了成功调用命令 2,下载了很多个包,搞混了 解决办法:我的包有几个明显特征,可以自行查验(1)最开始的命令更新有一堆,一直到version1.11 (2)第35行local avar的暂元计算时,(_se[‘iv’])^2 标准误打了括号之后再求的平方 (3)最后计算单值时,有return scalar ind_eff 和dir_eff,也就是间接效应和直接效应