C++



cpp

لغة برمجة C ++

يتم تعريف واجهة مكتبة C ++ القياسية من خلال المجموعة التالية من ملفات الرأس.

مكتبة المرافق العامة

<cstdlib> المرافق العامة الغرض: التحكم في البرنامج ، تخصيص الذاكرة الديناميكية ، الأرقام العشوائية ، الفرز والبحث
<csignal> وظائف والثوابت الكلية لإدارة الإشارة
<csetjmp> الماكرو (والدالة) الذي يحفظ (ويقفز) إلى سياق التنفيذ
<cstdarg> معالجة قوائم وسيطة متغيرة الطول
<typeinfo> أدوات معلومات نوع وقت التشغيل
<typeindex> (منذ C ++ 11) std::type_index
<type_traits> (منذ C ++ 11) معلومات نوع وقت الترجمة
<bitset> std::bitset قالب فئة std::bitset
<functional> كائنات وظيفة ، مصممة للاستخدام مع الخوارزميات القياسية
<utility> مكونات المنفعة المختلفة
<ctime> استخدام الوقت / التاريخ على غرار C
<chrono> (منذ C ++ 11) الوقت C ++ يستخدم
<cstddef> typedefs لأنواع مثل size_t و NULL وغيرها
<initializer_list> (منذ C ++ 11) std::initializer_list template class_list
<tuple> (منذ C ++ 11) std::tuple قالب الطبقة std::tuple
<any> (منذ C ++ 17) std::any قالب فئة
<optional> (منذ C ++ 17) std::optional قالب صنف std::optional
<variant> (منذ C ++ 17) std::variant قالب فئة std::variant
إدارة الذاكرة الديناميكية
<new> أدوات إدارة الذاكرة منخفضة المستوى
<memory> أعلى مستوى إدارة الذاكرة المرافق
<scoped_allocator> (منذ C ++ 11) فئة مخصص متداخلة
<memory_resource> (منذ C ++ 17) التخصيص متعدد الأشكال وموارد الذاكرة
حدود رقمية
<climits> حدود أنواع متكاملة
<cfloat> حدود أنواع الطفو
<cstdint> (منذ C ++ 11) أنواع ذات حجم ثابت وحدود للأنواع الأخرى
<cinttypes> (منذ C ++ 11) تنسيق وحدات الماكرو ، intmax_t و uintmax_t الرياضيات والتحويلات
<limits> طريقة موحدة للاستعلام عن خصائص الأنواع الحسابية
معالجة الأخطاء
<exception> التعامل مع الاستثناء المرافق
<stdexcept> كائنات الاستثناء القياسية
<cassert> الماكرو المترجمة برمجيًا يقارن وسيطة الخاصة به إلى صفر
<system_error> (منذ C ++ 11) يعرّف std :: error_code ، رمز خطأ تابع للنظام الأساسي
<cerrno> ماكرو يحتوي على رقم الخطأ الأخير

مكتبة السلاسل

<cctype> وظائف لتحديد النوع المتضمن في بيانات الحروف
<cwctype> وظائف لتحديد نوع بيانات الأحرف العريضة
<cstring> مختلف وظائف معالجة سلسلة الأحرف الضيقة
<cwchar> مختلف وظائف التعامل مع سلسلة واسعة multibyte
<cuchar> (منذ C ++ 11) multibyte C-style
<string> std::basic_string قالب الطبقة std::basic_string
<string_view> (منذ C ++ 17) std::basic_string_view قالب الطبقة std::basic_string_view

مكتبة حاويات

<array> (منذ C ++ 11) std::array حاوية std::array
<vector> std::vector الحاوية
<deque> std::deque حاوية std::deque
<list> std::list الحاويات
<forward_list> (منذ C ++ 11) std::forward_list حاوية std::forward_list
<set> std::set and std::multiset containers
<map> std::map و std::multimap الحاويات اقتران std::multimap
<unordered_set> (منذ C ++ 11) std::unordered_set and std::unordered_multiset contain associates containers
<unordered_map> (منذ C ++ 11) std::unordered_map و std::unordered_multimap الحاويات النقابية غير مرتبة
<stack> std::stack محول حاوية std::stack
<queue> std::queue و std::priority_queue محولات الحاوية

مكتبة الخوارزميات

<algorithm> الخوارزميات التي تعمل على الحاويات
<execution> (C ++ 17) نُهج التنفيذ المعرفة مسبقًا للإصدارات المتوازية من الخوارزميات

مكتبة المتكررات

<iterator> تكرارات الحاويات

مكتبة الأعداد

<cmath> وظائف الرياضيات المشتركة
<complex> نوع الرقم المركب
<valarray> فئة لتمثيل ومعالجة صفائف القيم
<random> (منذ C ++ 11) مولدات الأرقام العشوائية والتوزيعات
<numeric> العمليات الرقمية على القيم في حاويات
<ratio> (منذ C ++ 11) حساب الوقت الحسابي التجميعي
<cfenv> (منذ C ++ 11) وظائف الوصول إلى بيئة الفاصلة العائمة

مكتبة الإدخال / الإخراج

<iosfwd> التصريحات إلى الأمام من جميع الطبقات في مكتبة الإدخال / الإخراج
<ios> std::ios_base class، std::basic_ios class and template typedefs
<istream> std::basic_istream قالب فئة basic_istream وعدة حروف typedefs
<ostream> std::basic_ostream ، std::basic_iostream قوالب الفئات و العديد من typedefs
<iostream> عدة كائنات تيار القياسية
<fstream> std::basic_fstream ، std::basic_ifstream ، std::basic_ofstream class std::basic_ofstream and typedefs multiple
<sstream> std::basic_stringstream ، std::basic_istringstream ، std::basic_ostringstream class std::basic_ostringstream و typedefs عديدة
<strstream> std::strstream ، std::istrstream ، std::ostrstream (deprecated)
<iomanip> وظائف مساعد للتحكم في الشكل أو الإدخال والإخراج
<streambuf> std::basic_streambuf قالب الطبقة std::basic_streambuf
<cstdio> وظائف الإدخال والإخراج من النمط C

مكتبة التعريب

<locale> المرافق التعريب
<clocale> C المرافق التعريب
<codecvt> (منذ C ++ 11) مرافق تحويل يونيكود

مكتبة التعبيرات العادية

<regex> (منذ C ++ 11) فصول ، خوارزميات ، ومكررات لدعم معالجة التعبير العادية

مكتبة العمليات الذرية

<atomic> (منذ C ++ 11) مكتبة العمليات الذرية

مكتبة دعم الموضوع

<thread> (منذ C ++ 11) std::thread فئة std::thread ووظائف الدعم
<mutex> (منذ C ++ 11) استبعاد الأوليات المتبادلة
<shared_mutex> (منذ C ++ 14) المشتركة الأولية الاستبعاد البدائية
<future> (منذ C ++ 11) الأوليات للحسابات غير المتزامنة
<condition_variable> (منذ C ++ 11) شروط الانتظار موضوع

مكتبة نظام الملفات

<filesystem> (منذ C ++ 17) std::path فئة std::path ووظائف الدعم

المكتبات التجريبية

<experimental/algorithm> (أساسيات المكتبة TS) امتدادات المكتبات القياسية وملحقات للتوازي
<experimental/any> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/chrono> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/deque> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/execution_policy> (parallelism TS) تمديدات للتوازي
<experimental/exception_list> (parallelism TS) تمديدات للتوازي
<experimental/filesystem> (filesystem TS) مكتبة نظام الملفات
<experimental/forward_list> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/future> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/list> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/functional> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/map> (أساسيات مكتبة TS) امتدادات المكتبات القياسية
<experimental/memory> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/memory_resource> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/numeric> (parallelism TS) تمديدات للتوازي
<experimental/optional> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/ratio> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/regex> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/set> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/string> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/string_view> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/system_error> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/tuple> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/type_traits> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/unordered_map> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/unordered_set> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/utility> (أساسيات المكتبة TS) امتدادات المكتبات القياسية
<experimental/vector> (أساسيات المكتبة TS) امتدادات المكتبات القياسية

رؤوس توافق C

بالنسبة لبعض xxx.h C القياسية للمكتبة في xxx.h ، تحتوي كل مكتبة قياسية لـ C ++ على رأس cxxx ورأس آخر للنموذج cxxx (كل رؤوس cxxx المفيدة مدرجة أعلاه).

باستثناء complex.h ، xxx.h تضمين كل رأس xxx.h في أماكن المكتبة القياسية C ++ في مساحة الاسم العامة لكل اسم قد يكون رأس cxxx المطابق قد وضع في مساحة الاسم std .

يُسمح لهذه الرؤوس أيضًا cxxx الأسماء نفسها في مساحة الاسم cxxx ، ويُسمح لرؤوس cxxx المقابلة أيضًا بالإعلان عن نفس الأسماء في مساحة الاسم العام: بما في ذلك <cstdlib> بالتأكيد يوفر std::malloc وقد يوفر أيضًا ::malloc . بما في ذلك <stdlib.h> بالتأكيد يوفر ::malloc ويمكن أيضا توفير std::malloc . وينطبق هذا حتى على الوظائف والوظائف الزائدة التي ليست جزءًا من مكتبة C القياسية.

<assert.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cassert> في مساحة الاسم العمومي
<ctype.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cctype> في مساحة الاسم العامة
<errno.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cerrno> في مساحة الاسم العمومي
<fenv.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cfenv> في مساحة الاسم العامة
<float.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cfloat> في مساحة الاسم العمومي
<inttypes.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cinttypes> في مساحة الاسم العمومي
<limits.h> ( <limits.h> ) سلوك كما لو تم وضع كل اسم من <climits> في مساحة الاسم العمومي
<locale.h> ( <locale.h> ) سلوك كما لو تم وضع كل اسم من <clocale> في مساحة الاسم العمومي
<math.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cmath> في مساحة الاسم العمومي
<setjmp.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <csetjmp> في مساحة الاسم العمومي
<signal.h> ( <signal.h> ) سلوك كما لو تم وضع كل اسم من <csignal> في مساحة الاسم العمومي
<stdarg.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdarg> في مساحة الاسم العمومي
<stddef.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstddef> في مساحة الاسم العمومي
<stdint.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdint> في مساحة الاسم العمومي
<stdio.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdio> في مساحة الاسم العمومي
<stdlib.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdlib> في مساحة الاسم العمومي
<string.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cstring> في مساحة الاسم العمومي
<time.h> (موقوف) سلوك كما لو تم وضع كل اسم من <ctime> في مساحة الاسم العمومي
<uchar.h> (تم الإيقاف) يتصرف كما لو أن كل اسم من <cuchar> يوضع في مساحة الاسم العالمية
<wchar.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cwchar> في مساحة الاسم العمومي
<wctype.h> (تم الإيقاف) سلوك كما لو تم وضع كل اسم من <cwctype> في مساحة الاسم العمومي

رؤوس C غير مدعومة

لا يتم تضمين رؤوس C <stdatomic.h> و <stdnoreturn.h> و <threads.h> في C ++ وليس لها مكافئات cxxx .

رؤوس C فارغة

لا تحتوي الرؤوس <complex.h> و <ccomplex> و <tgmath.h> و <ctgmath> على أي محتوى من مكتبة C القياسية وبدلاً من ذلك تتضمن رؤوس أخرى من مكتبة C ++ القياسية فقط. تم إيقاف استخدام كل هذه الرؤوس في C ++.

<ccomplex> (منذ C ++ 11) (تم إلغاؤه في C ++ 17) يتضمن ببساطة رأس <complex>
<complex.h> (تم الإيقاف) يتضمن ببساطة رأس <complex>
<ctgmath> (منذ C ++ 11) (تم إلغاؤه في C ++ 17) ببساطة تتضمن الرؤوس <complex> و <cmath> : تم بالفعل توفير الأحمال الزائدة المكافئة لمحتويات الرأس C tgmath.h بواسطة هذه الرؤوس
<tgmath.h> (تم الإيقاف) يتضمن ببساطة رأس <ctgmath>

رؤوس لا معنى لها C

لا <ciso646> للرؤوس <ciso646> و <cstdalign> و <cstdbool> في C ++ لأن وحدات الماكرو التي توفرها في C هي الكلمات الأساسية باللغة في C ++.

<ciso646> رأس فارغ. وحدات الماكرو التي تظهر في iso646.h في C هي الكلمات الأساسية في C ++
<iso646.h> (موقوف) سلوك كما لو تم وضع كل اسم من <ciso646> في مساحة الاسم العمومي
<cstdalign> (منذ C ++ 11) (تم تجاهله في C ++ 17) يحدد ثابت ماكرو واحد متوافق
<stdalign.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdalign> في مساحة الاسم العمومي
<cstdbool> (منذ C ++ 11) (تم تجاهله في C ++ 17) يحدد ثابت ماكرو واحد متوافق
<stdbool.h> (تم الإيقاف) يتصرف كما لو تم وضع كل اسم من <cstdbool> في مساحة الاسم العمومي

أنظر أيضا

وثائق C Standard Library header files