Современные проекты на С++

Мне нравится проходить через существующие программные проекты как источник обучения и новые идеи. делая это, я обнаруживаю, что я не думаю, что это возможно.

на ваш взгляд, что такое верхний современный проект на С++, который вы использовали/развивали/расширяли? можете ли вы указать причины, по которым вы считаете, что это состояние дел и что вы можете извлечь из него.

Мое последнее увлечение - boost:: phoenix, http://www.boost.org/doc/libs/1_43_0/libs/spirit/phoenix/doc/html/index.html, который является очень обширной библиотекой функционального программирования. Несмотря на свои возможности, он прост и прост в распространении. После некоторой настройки я смог написать многопоточные лямбда-параллельные петли и математический язык, специфичный для домена, возможно, в течение 2 недель.

Что твой? (пожалуйста, не просто сказать boost, так как это огромная коллекция проекта)

Ответ 1

Лично мне нравится смотреть код в Qt. Я использую его каждый день, но кажется, что каждый день я его использую, я нахожу что-то новое. Что касается общего кода, он, вероятно, такой же большой, как и повышение. Но он поставляется с отличной документацией и примерами и полным исходным кодом и является бесплатным для версий LPGL и GPL.

Для меня то, что мне понравилось в Qt, было то, что он соответствовал тому, как работает С#, поэтому для меня это был довольно простой переход в С++. Но, посмотрев на их код, он действительно дал мне много способов (хотя и не так много, как SO), чтобы понять некоторую сложность в С++

Ответ 2

Из того, что я видел, источники кода, которые я узнал больше всего, были из довольно сложных сторонних программных библиотек. Хавок - отличный пример, из которого я не только научился программированию и решениям, но и немало математических и философских дискуссий. Я также видел некоторые другие источники кода, которые не были открытыми источниками, из которых я узнал, как не решить проблемы.

Игровые движки для AAA-титров в целом, как правило, связаны с множеством сложного кода, который пытается как можно сильнее продвигать часть аппаратного обеспечения. Я полагаю, что рекомендация распространяется на все программное обеспечение, которое пытается достичь чего-то подобного, но я только нырнул в игровые движки, когда дело доходит до такого программного обеспечения. У игровых движков с AAA часто есть хорошие или плохие решения для изучения, и я бы вообще рекомендовал их изучить. Есть некоторые, которые с открытым исходным кодом... Я думаю, что Source/Valve выпустили их на разных этапах.