我想通过与其他人竞争来测试我的C++编程技能水平.C++有哪些编程竞赛?
比赛不会帮助您学习语言的黑暗角落.他们中的大多数是关于速度的,如果你将语言的使用减少到一个稳定的最低限度,你只能达到速度.您不想花费数小时试图弄清楚为什么您的聪明模板无法编译,您不想编写可读且易于理解的代码,因为它会降低您的速度,您不想测试它,您只是想要尽快完成它.
如果你的目标是学习一门语言,那么竞赛是完全错误的方式.
读取boost和STL的来源,尝试从中复制和修改一些代码,这是一种好方法.
有Google Code Jam,但每年只有一次; TopCoder,还有更多的比赛; 和其他人列在这里.
有一些:
Topcoder可能最适合你.它经常进行算法编程竞赛,竞争对手有世界级的竞争对手.它还有一个通用的组件编程,例如设计/实现XML处理库等.Topcoder向最好的少数参赛者奖励.最好的,你可以看到别人的源代码!
球体在线评判.和其他许多人:acm.timurs.ru,acm.uva.es,acm.pku.edu.cn等.这些仅用于算法技能培训.你可以在那里玩得很开心:)
测试C++技能水平没有什么意义,因为最终它不是思考,而是要么非常简单,要么就是要知道编译器实现之间的差异,或者标准本身的缺陷.
为了测试一个人对C++的了解,最简单的方法是参与一些硬核C++项目,如boost或C++ 0x标准开发.
为了测试您的技能和算法知识,作为一名思考程序员,您应该尝试ACM编程竞赛或TopCoder等竞赛.