有什麼高質量的現代C++風格的開源代碼?

RT想學習學習:)


boost


google的leveldb

leveldb -

A fast and lightweight key/value database library by Google.


我覺得這個還是不錯的:https://github.com/facebook/folly

跟其他的一些project不同,這裡面包含的都是一些基礎的庫,運用了不少C++11的特性。

當然裡面有些奇技淫巧,比如重載指針操作符實現互斥之類的...

不過總的來說,FB開源出來的東西,應該是值得一讀的。


Qt


謝邀。

推薦以下兩個有 50% 左右的源碼是 C++ 的開源代碼,非常值得學習的兩個。

https://github.com/tensorflow/tensorflow

https://github.com/apple/swift


  • @陳碩 的Muduo

  • POCO (http://pocoproject.org/)
  • ...


Google v8 engine


我模仿的是.net framework的做法,依稀記得有一本專門講如何用.net寫framework的《Framework Design Guidelines》提到了所有的內容(看向 @趙劼

tinymoe則完全是用C++11來寫的 vczh/tinymoe 路 GitHub


clang/llvm


C++14標準都出來了,連C++11的特性都沒用的項目就別好意思說現代C++了吧

推薦微軟的開源跨平台項目:casablanca

C++ REST SDK

功能:HTTP client/server, JSON, URI, asynchronous streams, WebSockets client, oAuth

例子:

pplx::task& HTTPStreamingAsync()
{
http_client client(L"http://www.fourthcoffee.com");
// Make the request and asynchronously process the response.
return client.request(methods::GET).then([](http_response response)
{
// Print the status code.
std::wostringstream ss;
ss &<&< L"Server returned returned status code " &<&< response.status_code() &<&< L. &<&< std::endl; std::wcout &<&< ss.str(); // TODO: Perform actions here reading from the response stream. auto bodyStream = response.body(); // In this example, we print the length of the response to the console. ss.str(std::wstring()); ss &<&< L"Content length is " &<&< response.headers().content_length() &<&< L" bytes." &<&< std::endl; std::wcout &<&< ss.str(); }); /* Sample output: Server returned returned status code 200. Content length is 63803 bytes. */ }

實現並發就是這麼優雅


chromium. 裡面包含了一個大大的基礎庫base,網路庫net,以及樓上說的v8,還有google自己實現的正則RE2,還有webkit等一大坨3rd party的開源代碼.


stl,雖然不知道夠不夠現代。


openfoam,如果是搞流體的,很值得學


電驢,Mongodb,webkit內核也是C++寫的


mongodb


Ubuntu Mir


skia,firefox,chromium


google代碼規範有必要讀讀了,至於應用這套規範得如前面提到的chroium及大部分google開源項目,自行google之


推薦閱讀:

如何在 GitHub 看源代碼學習呢?
要讀別人的代碼,應該如何入手?
如何優雅的管理 github 上 star 的項目?
如何看待大學CS課程中普遍存在的GOP(Github Oriented Programming)現象?
GitHub入門與實踐

TAG:編程語言 | GitHub | C |