مستندات کامل C ++ برای علوم کامپیوتر حرفه ای

مستندات کامل C ++ برای علوم کامپیوتر حرفه ای
- آشنایی با C ++
C ++ یک زبان برنامه نویسی زبانی است که ویژگی های برنامه نویسی رویه ای ، شی و عملکردی را در خود جای می دهد. مزیت اصلی آن عملکرد و کنترل زیاد بر منابع سخت افزاری است.
تاریخ
ایجاد شده توسط Bjarne Strostrupa در سال 1983 به عنوان یک پسوند C
استاندارد شده توسط ISO (به عنوان مثال C ++ 98 ، C ++ 03 ، C ++ 11 ، C ++ 14 ، C ++ 17 ، C ++ 20 ، C ++ 23)
- مبانی نحو C ++
ساخت برنامه
با استفاده از namespace std ؛
int main () {
cout << "سلام ، c ++!" << endl ؛
بازگشت 0 ؛
}
انواع داده ها
Podstawowe: int ، float ، double ، char ، bool
modyfikatory: امضا شده ، بدون امضا ، کوتاه ، طولانی
Struktury I Klasy: ساختار ، کلاس
انواع شاخص: int*، char*
انواع زیر: enum
- اپراتورها در C ++
حسابی: +، -، *، /، ٪
porównawcze: == ،! = ، <،> ، <= ،> =
منطقی: && ، || ،!
بیت: & ، | ، ^، ~ ، << ، >>
تکالیف: = ، += ، -= ، *= ، /= ، = ، | = ، ^= ، << = ، >> =
- ساختارهای کنترل
pętle: برای ، در حالی که ، هر چه کاری انجام دهید
دستورالعمل های مشروط: اگر ، دیگر ، سوئیچ کنید
سرویس خطا: امتحان کنید ، صید ، پرتاب کنید
امتحان کنید
THROW RUNTIME_ERROR (“Bąąd!”) ؛
} گرفتن (استثناء کنسرت و e)
cout << "wyjątek:" << e.what () << endl ؛
}
- برنامه نویسی شیء
کلاس ها و اشیاء
ماشین کلاس {
عمومی:
String Marka ؛
void خراب () {cout << "marka:" << marka << endl ؛ }
} ؛
konstruktory i destuktory
کلاس خودکار
عمومی:
ماشین () {cout << "سازنده!" << endl ؛ }
~ auto () {cout << "Destuktor!" << endl ؛ }
} ؛
ارث
سفر کلاس {
عمومی:
int kola ؛
} ؛
اتومبیل کلاس: وسیله نقلیه عمومی {
عمومی:
String Marka ؛
} ؛
چند شکل
کلاس Bazowa {
عمومی:
نمایشگر void void () {cout << "پایه" ؛ }
} ؛
مشتق کلاس: پایگاه عمومی {
عمومی:
نمایشگر void () Override {cout << "مشتق" ؛ }
} ؛
- کتابخانه استاندارد C ++ (STL)
ظروف
وکتور ، لیست ، deque ، پشته ، صف ، اولویت_ queue
تنظیم ، نقشه ، Unordered_set ، Unordered_map
الگوریتم
مرتب سازی: مرتب سازی () ، پایدار_هورت ()
جستجو: پیدا کردن () ، binary_search ()
اصلاح: تبدیل () ، حذف ()
بردار v = {3 ، 1 ، 4 ، 1 ، 5} ؛
مرتب سازی (v.begin () ، v.end ()) ؛
- مدیریت حافظه
تخصیص پویا: جدید ، حذف
Pointery Smart: Unique_ptr ، shared_ptr ، weak_ptr
سرویس حافظه در STL: std :: بردار ، std :: رشته
منحصر به فرد_PTR p = make_unique (10) ؛
cout << *p ؛
- برنامه نویسی چند رشته
مستندات C ++ برای متخصصان
- مقدمه C ++ C ++ زبان برنامه نویسی هدف کلی است که ترکیبی از برنامه نویسی رویه ای ، شی و عمومی است. این کشور از دهه 1980 توسعه یافته است و هنوز هم یکی از محبوب ترین زبان های صنعت فناوری اطلاعات است.
ویژگی های اصلی C ++:
عملکرد بالا ،
پشتیبانی برنامه نویسی شی (OOP) ،
برنامه نویسی سطح پایین (نزدیک به تجهیزات) ،
تایپ قوی و دستکاری حافظه ،
کتابخانه استاندارد STL (کتابخانه الگوی استاندارد).
- نحو و اصول اولیه 2.1 ساختار برنامه C ++ CPP کپی ویرایش #include
int main () {
std :: cout << "سلام ، جهان!" << std :: endl ؛
بازگشت 0 ؛
}
2.2 نوع داده
CPP
کپی کردن
ویرایش کردن
شماره int = 10 ؛
Double Number_ZalNotCatKowa = 3.14 ؛
علامت char = 'a' ؛
مقدار bool = true ؛
std :: متن رشته = “سلام” ؛
اصلاح کننده ها:
امضا شده ، بدون امضا ، کوتاه ، طولانی
انواع کاربر:
typedef ، با استفاده از
2.3 عملیاتی
aritmetic: +، -، *، /، ٪
مقایسه: == ،! = ، <،> ، <= ،> =
منطقی: && ، || ،!
بیت: & ، | ، ^، ~ ، << ، >>
تکالیف: = ، += ، -= ، *= ، /= ، ٪ =
افزایش/کاهش: ++ ، –
مشروط:؟:
2.4 ساختار کنترل
دستورالعمل مشروط
CPP
کپی کردن
ویرایش کردن
if (x> 10) {
std :: cout << "بزرگتر از 10" ؛
} other {
std :: cout << "کوچکتر 10" ؛
}
حلقه
CPP
کپی کردن
ویرایش کردن
برای (int i = 0 ؛ i <10 ؛ i ++) {std :: cout << i << "" "؛ }
int j = 0 ؛
در حالی که (j <10) {j ++ ؛ }
به {std :: cout << "یک بار ساخته شده" ؛ } در حالی که (نادرست) ؛
دفترچه راهنما
CPP
کپی کردن
ویرایش کردن
سوئیچ (x) {
مورد 1: std :: cout << "Jeden" ؛ شکستن
پیش فرض: std :: cout << "ناشناخته" ؛
}
- برنامه نویسی OBHEGIC 3.1 کلاس و CPP کپی کپی اتومبیل ویرایش کلاس {عمومی: std :: علامت رشته ؛ void at () {std :: cout << "رانندگی!" ؛ }} ؛ اتومبیل اتومبیل 1 ؛ auto1.marka = "bmw" ؛ auto1.jdz () ؛ 3.2 سازنده و CPP ویرانگر} ~ کلاس () {std :: cout << "ویرانگر" ؛ }} ؛ 3.3 وراثت CPP کپی ویرایش وسیله نقلیه کلاس {عمومی: اطلاعات باطل () {std :: cout << "به وسیله نقلیه" ؛ }} ؛ اتومبیل کلاس: وسیله نقلیه عمومی {} ؛ 3.4 پلی مورفیسم CPP کپی ویرایش کلاس کلاس {عمومی: نمایش خالی مجازی () {std :: cout << "پایه" ؛ }} ؛ مشتق کلاس: پایگاه عمومی {عمومی: نمایش void () Override {std :: cout << "مشتق" ؛ }} ؛
- قالب ها و الگوهای عملکرد CPP STL 4.1 CPP COPY EDIT TEMPLATE T حداکثر (t a ، t b) {بازگشت (a> b)؟ پاسخ: ب ؛ } 4.2 الگوهای کلاس CPP کپی کپی الگوی کلاس کانتینر {t داده ؛ عمومی: کانتینر (T D): DATA (D) {} void Show () {std :: cout << data ؛ }} ؛ 4.3 ظروف وکتور کتابخانه الگوی استاندارد (STL)
لیست
نقشه
تنظیم کردن
غیرقانونی_مپ
مثال:
CPP
کپی کردن
ویرایش کردن
std :: شماره های بردار = {1 ، 2 ، 3} ؛
for (int x: liczby) {std :: cout << x << "" ؛ }
- مدیریت حافظه 5.1 CPP پویا کپی کپی ویرایش int* ptr = جدید int (10) ؛ حذف PTR ؛ 5.2 مدیریت حافظه در کلاس CPP کلاس ویرایش کلاس کلاس {خصوصی: int* wsk ؛ عمومی: کلاس () {wsk = int جدید (100) ؛ } ~ class () {حذف WSK ؛ }} ؛ 5.3 Smart Pointers CPP کپی ویرایش #include std :: منحصر به فرد_PTR p1 = std :: make_unique (10) ؛
- کپی برنامه نویسی CPP چند رشته ای ویرایش #include vid () {std :: cout << "موضوع!" ؛ } std :: موضوع T1 (عملکرد) ؛ t1.join () ؛
- پشتیبانی از استثناء CPP} گرفتن (const std :: استثنا و e) {std :: cout << "استثنا:" << e.what () ؛ }
- تکنیک های پیشرفته 8.1 Metaprogramming CPP کپی ویرایش الگوی Strut StruciA {مقدار استاتیک مقدار int مقدار = n * موتور :: مقدار ؛ } ؛ الگوی <> ساختار قوی <0> {مقدار استاتیک مقدار int = 1 ؛ } ؛ 8.2 برنامه نویسی عملکردی CPP کپی ویرایش #include std: عملکرد اضافه کردن = {بازگشت a + b ؛ } ؛
- ایجاد کتابخانه ها ایجاد پرونده های هدر (.H) و اجرای (.cpp):
CPP
کپی کردن
ویرایش کردن
// file.h
عملکرد باطل () ؛
// file.cpp
عملکرد باطل () {std :: cout << "کتابخانه!" ؛ }
- ابزارها و تدوین 10.1 گردآوری G ++ SH کپی ویرایش G ++ -O برنامه. cpp ./program 10.2 اشکال زدایی GDB SH COPIUJ EDIT G ++ -G PROGRAM.CPP GDB./Program Summary Documentation. تکنیک های پیشرفته