2010-07-24 26 views
11

我喜欢通过现有的软件项目作为学习和新想法的来源。 这样做,我发现我认为不可能的事情最先进的C++项目

在您看来,您已经使用/开发/扩展的最先进的C++项目的状态是什么?你能说出为什么你认为它是最先进的,你可以从中学到什么。

我最新的热潮是boost :: phoenix,http://www.boost.org/doc/libs/1_43_0/libs/spirit/phoenix/doc/html/index.html,这是非常全面的函数式编程库。 尽管它的功能很简单,并且易于扩展。经过一些调整后,我可以写出多线程的lambda并行循环和数学领域特定的语言,可能在2周内。

什么是你的? (请不要只说提升,因为它是巨大的项目收集)

+0

这个问题仅限于开源项目吗? – Simon 2010-07-24 21:54:08

+0

@Simon好吧,如果你认为你可以从关闭源项目的文档中获得想法,那么我没有问题。仍然很高兴阅读实际执行 – Anycorn 2010-07-24 22:04:25

+0

Duplicate:http://stackoverflow.com/questions/109684/what-are-some-examples-of-exceptional-c-open-source-code – gnovice 2010-07-24 22:33:29

回答

3

我个人喜欢看Qt的代码。我每天都在使用它,但似乎每天都会使用它,我发现了一些新的东西。就总代码而言,它可能与提升一样大。但它带有出色的文档和示例以及完整的源代码,并免费用于LPGL & GPL版本。

对于我来说,我喜欢Qt的是它的概念与C#的工作方式相匹配,所以对我来说这是一个相当简单的转换回C++的过程。但通过查看他们的代码,它真的给了我很多方法(尽管不如那么多)来理解C++中的一些复杂性

+0

“个人而言,我喜欢看Qt代码“。我同意那个。 Qt 4帮助我发展了自己的编码风格。 – SigTerm 2010-07-24 22:20:13

1

从我所看到的,我已经学习的代码源大部分来自相当复杂的第三方软件库。 Havok是一个很好的例子,我不仅从中学习了编程实践和解决方案,而且还进行了一些数学和哲学讨论。我还看到了一些其他代码来源,这些代码来源还没有从我已经学会如何解决问题中获得。

针对AAA标题的游戏引擎通常倾向于涉及很多复杂的代码,试图尽可能多地通过一个硬件来推送。我想这个建议适用于所有试图实现类似功能的软件,但是当涉及到这样的软件时,我只是潜入了游戏引擎。 AAA标题的游戏引擎往往有好的或坏的解决方案来研究,我通常会建议寻找这些。有一些是开源的......我认为Source/Valve已经在不同的阶段发布了它们。