在学习了大量的c ++之后,我现在进入了STL容器和算法模板库,我的主要关注点是,
1)这个库在MS,linux等其他平台上的不同平台上是否相同?
2)程序c ++模块的质量或效率会随着STL容器和算法的使用而减少,我想我无法根据所有需要对其进行定制。
3)这个模板库是否适合在linux系统编程,内核模块中使用?
4)最后我可以在编程竞赛中使用它,因为它重复了大量的编码和压力。
答案 0 :(得分:5)
1)这个库在MS,linux等其他平台上的不同平台上是否相同?
没有。除标准化界面外,每个编译器套件的实现都不同,有时它们还提供自定义扩展,例如hash_map
。
2)程序c ++模块的质量或效率会随着STL容器和算法的使用而减少,我想我无法根据所有需要对其进行定制。
我不这么认为。除非你有非常特殊的需求,否则质量和效率应该比你自己做的更好。
3)这个模板库是否适合在linux系统编程,内核模块中使用?
更好地使用C作为内核。
4)最后我可以在编程竞赛中使用它,因为它重复了大量的编码和压力。
取决于比赛的规则。
答案 1 :(得分:4)
1)标准(接口)是相同的。实施方式不同。
2)您的课程的质量或效率仅取决于您的技能。 STL为您提供可以使用和滥用的好处。
3)不适用于内核模块,适用于用户模式应用程序。
4)通常C ++竞赛允许STL。
答案 2 :(得分:3)
1)API相同。限制标准中规定的行为(例如O(n))。实施供应商特定。意味着您可以依赖应用程序的缩放。
2)只要您不得不提出这些问题,您的代码的质量和效率就可以通过使用STL来改善。
3)不在内核中。
4)C ++的测试应该允许STL。