0Pricing
C++ Academy · درس

إنشاء العروض

أنشئ عروضًا فوق السلاسل النصية

إنشاء العروض درس مجاني في C++ Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C++ Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C++ Academy 4 دروس في المجموع.

من ثابت سلسلة نصية

ينشأ أبسط عرض من ثابت سلسلة نصية. ويُحسب الطول تلقائيًا.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "automatic length";
    std::cout << sv.size() << "\n";
}

من std::string

تتحول std::string ضمنيًا إلى عرض، ما يتيح لكم الاطلاع على محتوياتها دون نسخ.

#include <iostream>
#include <string>
#include <string_view>
int main() {
    std::string s = "owned text";
    std::string_view sv = s;
    std::cout << sv << "\n";
}

من مؤشر وطول

يمكنكم إنشاء عرض من مؤشر إلى محارف وطول صريح، وهذا مفيد للمخازن المؤقتة التي لا تنتهي بمحرف صفري.

#include <iostream>
#include <string_view>
int main() {
    const char buf[] = {'H','e','l','l','o','!'};
    std::string_view sv(buf, 5);
    std::cout << sv << "\n"; // Hello
}

اللاحقة الحرفية sv

تنشئ اللاحقة sv، من std::string_view_literals، عرضًا مباشرةً وتتعامل مع المحارف الصفرية المضمّنة بطريقة صحيحة.

#include <iostream>
#include <string_view>
using namespace std::string_view_literals;
int main() {
    auto sv = "ready"sv;
    std::cout << sv.size() << "\n";
}

التقطيع باستخدام substr

تُرجع substr(pos, count) عرضًا جديدًا داخل المخزن المؤقت نفسه، وهي طريقة مجانية لعرض جزء من النص.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "2026-05-30";
    std::cout << sv.substr(0, 4) << "\n"; // 2026
}

remove_prefix

تقلّص remove_prefix(n) العرض من أوله عبر تقديم مؤشر البداية، من دون إجراء أي نسخ.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "   trimmed";
    sv.remove_prefix(3);
    std::cout << sv << "\n"; // trimmed
}

remove_suffix

تقلّص remove_suffix(n) العرض من آخره عبر تقليل طوله.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv = "data.csv";
    sv.remove_suffix(4);
    std::cout << sv << "\n"; // data
}

العروض الفارغة

يكون العرض المُنشأ افتراضيًا فارغًا؛ إذ تُرجع empty() القيمة true ويكون size() مساويًا للصفر.

#include <iostream>
#include <string_view>
int main() {
    std::string_view sv;
    std::cout << sv.empty() << " " << sv.size() << "\n";
}

نسخ العرض منخفض التكلفة

لا يؤدي إسناد عرض إلى آخر إلا إلى نسخ المؤشر والطول، ويظل كلاهما يشير إلى المحارف نفسها.

#include <iostream>
#include <string_view>
int main() {
    std::string_view a = "shared";
    std::string_view b = a;
    b.remove_prefix(3);
    std::cout << a << " " << b << "\n"; // shared red
}

التحويل مرة أخرى إلى string

عندما تحتاجون إلى امتلاك البيانات، أنشئوا std::string من العرض؛ ففي هذه النقطة يحدث النسخ، وبشكل مقصود.

#include <iostream>
#include <string>
#include <string_view>
int main() {
    std::string_view sv = "copy me";
    std::string owned{sv};
    std::cout << owned << "\n";
}

اختيار طريقة الإنشاء

استخدموا الثوابت النصية والتحويل الضمني في الحالات اليومية، وصيغة المؤشر والطول للمخازن المؤقتة الخام، وsubstr/remove_* لإعادة تقطيع النص دون تخصيص للذاكرة.

تحقّق سريع

تحققوا من فهمكم لإنشاء العروض.

مراجعة

لقد تعلّمتم كيفية إنشاء العروض:

  • من الثوابت النصية أو السلاسل أو المؤشر والطول.
  • تنشئ اللاحقة sv العروض مباشرةً.
  • تتيح substr وremove_prefix وremove_suffix إعادة التقطيع دون تكلفة تخصيص.
  • أنشئوا std::string عندما تحتاجون إلى امتلاك البيانات.

الأسئلة الشائعة

هل درس «إنشاء العروض» مجاني؟

نعم — نص درس «إنشاء العروض» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C++ Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C++ Academy 4 دروس في المجموع.

ماذا ستتعلم في «إنشاء العروض»؟

أنشئ عروضًا فوق السلاسل النصية تتمرن على C++ Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C++ Academy؟

لا تُشترط خبرة سابقة. C++ Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إنشاء العروض»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C++ Academy هذا؟

نعم. كل درس في C++ Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. لماذا string_view
  2. إنشاء العروض
  3. المشكلات ودورات الحياة
  4. خوارزميات السلاسل النصية
← العودة إلى C++ Academy