المصدر المفتوح بلغة C++: أفضل مستودعات GitHub

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

لماذا يجب عليك الاطلاع على المصدر المفتوح بلغة C++ الآن؟

\n\n

إذا كنت تكتب بلغة C++ أو بدأت للتو في تعلمها، فإن GitHub ليس مجرد مستودع للكود، بل هو كنز حقيقي. يمنحك المصدر المفتوح (open source) بلغة C++ الفرصة لرؤية كيفية عمل المحترفين، والأنماط التي يستخدمونها، وكيف يصممون بنية الأنظمة عالية التحميل.

\n\n

في هذه المقالة، جمعنا أفضل المستودعات التي تستحق الدراسة لكل من يريد تحسين مهاراته في C++. لا نظرية مملة - فقط كود حي، ومشاريع حقيقية، ونصائح حول كيفية استخدامها.

\n\n

ماذا ستجد في هذه المجموعة؟

\n
    \n
  • مشاريع للتعلم والإلهام
  • \n
  • مكتبات تبسط عملية التطوير
  • \n
  • أدوات للتحسين والتصحيح
  • \n
  • أمثلة كود حقيقية يمكن تكييفها فورًا
  • \n
\n\n

أفضل 7 مستودعات C++ ستغير نظرتك للكود

\n\n

1. fmtlib/fmt - بديل حديث لـ printf و iostream

\n

إذا كنت قد سئمت من std::cout الضخم والارتباك في التنسيق، فإن مكتبة fmt ستكون خلاصك. فهي تنفذ تنسيق السلاسل النصية المشابه لـ Python، ولكن مع أمان كامل للأنواع في C++.

\n\n

مثال على الكود:

\n
#include <fmt/core.h>\n#include <vector>\n\nint main() {\n    std::vector<int> data = {1, 2, 3, 4, 5};\n    fmt::print("العناصر: {}\\n", fmt::join(data, ", "));\n    // الإخراج: العناصر: 1, 2, 3, 4, 5\n    return 0;\n}\n
\n

هذا المستودع هو مثال رائع على كيف يمكن لمشروع مفتوح المصدر تحسين المكتبة القياسية. الكود سهل القراءة، والأداء مشابه لـ printf.

\n\n

2. nlohmann/json - العمل مع JSON دون عناء

\n

JSON هو تنسيق يواجهه الجميع. مكتبة nlohmann/json تجعل تحليل وإنشاء JSON بلغة C++ بديهيًا. وهي مكتبة header-only بالكامل، أي لا تتطلب بناء.

\n\n

مثال:

\n
#include <nlohmann/json.hpp>\nusing json = nlohmann::json;\n\nint main() {\n    json config = {\n        {"name", "الخادم"},\n        {"port", 8080},\n        {"enabled", true}\n    };\n\n    std::string serialized = config.dump(4); // طباعة جميلة\n    std::cout << serialized << std::endl;\n\n    // القراءة\n    auto port = config["port"].get<int>();\n    return 0;\n}\n
\n

هذا المستودع لا غنى عنه لأي مشروع C++ يحتاج إلى التعامل مع البيانات.

\n\n

3. facebook/folly - مكتبة من فيسبوك للكود عالي الأداء

\n

Folly (مكتبة فيسبوك مفتوحة المصدر) هي مجموعة من المكونات المستخدمة داخل فيسبوك. ستجد هنا كل شيء: من المؤشرات الذكية إلى الحاويات الفعالة والأطر غير المتزامنة.

\n\n

لماذا تستحق الدراسة:

\n
    \n
  • تنفيذ fbvector - نسخة محسّنة من std::vector
  • \n
  • الإطار غير المتزامن futures
  • \n
  • أدوات للعمل مع الذاكرة والسلاسل النصية
  • \n
\n

كود Folly هو كتاب دراسي عن C++ الحديث والتحسين.

\n\n

4. google/leveldb - مكتبة سريعة لتخزين المفتاح-القيمة

\n

LevelDB هي قاعدة بيانات خفيفة الوزن مكتوبة بلغة C++. كودها هو نموذج للإيجاز والكفاءة. إذا كنت تريد فهم كيفية عمل أشجار LSM وقواعد البيانات المدمجة، فهذا المستودع هو المكان المثالي.

\n\n

مثال على الاستخدام:

\n
#include "leveldb/db.h"\n#include <iostream>\n\nint main() {\n    leveldb::DB* db;\n    leveldb::Options options;\n    options.create_if_missing = true;\n\n    leveldb::Status status = leveldb::DB::Open(options, "/tmp/testdb", &db);\n    if (!status.ok()) std::cerr << status.ToString() << std::endl;\n\n    db->Put(leveldb::WriteOptions(), "key", "value");\n    std::string value;\n    db->Get(leveldb::ReadOptions(), "key", &value);\n    std::cout <&                

المدونات

توصيات الكتب