یادگیری برنامه نویسی C++: همه نکات مهم که مبتدیان باید بدانند!

رتبه: 5 ار 9 رای SSSSS
سی پلاس پلاس
نویسنده: تیم تولید محتوا زمان مطالعه 8 دقیقه
Banner Image

++C رتبه چهارم را در رتبه بندی محبوب ترین زبان های برنامه نویسی IEEE دارد. یادگیری ++C سرمایه گذاری عاقلانه برای همه ی برنامه نویسان است. در این مطلب شما را با تاریخچه، ویژگی ها، نحوه ران کردن و همه نکات مهمی که باید بدانید آشنا می کنیم.

زبان برنامه نویسی C++ چیست؟

C++ زبانی پیچیده، کارآمد و جامع است که بر پایه ی C طراحی و در سال ۱۹۷۹ توسط بی یارنه استراس تروپ توسعه داده شده است.

بسیاری از سیستم عامل های فعلی، سیستم درایور ها، مرورگرها و بازی ها از C++ به عنوان زبان اصلی خود استفاده می کنند که باعث می شود C++ از محبوب ترین زبان های امروز باشد. از آن جایی که نسخه پیشرفته و تعمیم یافته زبان C است، C و C++ اغلب به عنوان C/C++ نام گذاری می شوند.

تاریخچه C++

زمانی که بی یارنه استراس تروپ در سال ۱۹۷۹ در AT&T Bell Labs کار می‌کرد با مشکلاتی در زمینه تحلیل کرنل UNIX برای سیستم‌ های توزیع شده مواجه شد. زبان آن یا بسیار کند و یا بسیار سطح پایین بود. از این رو تصمیم گرفت زبان جدیدی ایجاد کند.

وی برای ساخت این زبان جدید C را انتخاب کرد. دلیل این مسئله آن بود که C یک زبان عمومی، کارآمد و سریع بود. او از دانش خود در زمینه مدل شی گرای زبان SIMULA استفاده کرد و کار روی بسط کلاس ‌ها به زبان C را آغاز نمود. هدف او ایجاد زبانی بود که سطوح بالاتری از تجرید را داشته باشد و همزمان کارایی زبان C نیز حفظ شود.

زبان برنامه‌نویسی جدید به صورت C withClasse نام گذاری شد اما در ادامه به C++ تغییر کرد. (منظور از ++ اشاره به عملگر افزایشی در زبان C دارد.)

  • C++98  زمانی که C++ نخستین بار در سال ۱۹۸۵ منتشر شد، هیچ استاندارد رسمی در موردش وجود نداشت. اولین نسخه استاندارد شده این زبان در سال ۱۹۹۸ انتشار یافت که با نام C++98 شناخته می‌شود.
  • C++03 در سال ۲۰۰۳ نسخه جدید C++ انتشار یافت. C++03 در واقع اصلا استاندارد جدیدی محسوب نمی‌شد اما برخی مشکلات نسخه C++98  در آن حل شده بود تا یکپارچگی و پرتابل بودن بیشتری تضمین شود.
  • C++11)  C++0X)  استاندارد بعدی زبان C++ در سال ۲۰۱۱ انتشار یافت و با نام C++11 شناخته شد. از آنجا که کمیته C++ مطمئن بود که این نسخه در سال ۲۰۰۹ انتشار خواهد یافت، نام آن را C++0X  گذاشت. بعدا به دلیل عدم انتشار این نسخه، Stroustrup این شوخی را مطرح کرد که C++0X  به صورت هگزا دسیمال C++0xB  تبدیل شده است که معادل  C++11 است.
  • C++14 ) C++1y)  استاندارد  C++14 در سال ۲۰۱۴ منتشر شد و مانند  C++03 شامل رفع ایرادات و برخی بهبود های جزئی نسبت به  C++11 است.
  • C++17 ) C++1z)  نسخه بعدی از این زبان به نام C++17 در سال ۲۰۱۷ منتشر شد و آخرین نسخه انتشار یافته این زبان محسوب می‌شود. در این نسخه ویژگی ‌های جدیدی به این زبان اضافه شده است.

ویژگی های C++

C++ به علت عمومی بودن دارای قابلیت ‌های متنوعی است. پرداختن به همه این قابلیت ‌ها کاری زمان ‌بر است. در این جا برخی از قابلیت ‌های مهم این زبان را که باید بدانید ارائه داده ایم.

۱-C++ سریع است: از آنجا که C++ نسخه بسط یافته‌ای از C است، بخش زبان C آن کاملاً سطح پایین است. این امر موجب ارتقای زیادی در سرعت آن شده است که زبان‌های سطح بالا مانند پایتون یا جاوا نمی‌توانند ارائه کنند.

۲- C++ دارای نوع‌بندی صریح است: C++ یک زبان با بیان نوع صریح است، یعنی این زبان به کامپایلر امکان حدس نوع داده‌ ها را نمی‌دهد. برای نمونه در این زبان نمی‌توانید عدد ۱۰ را به صورت “۱۰” بنویسید و انتظار داشته باشید که C++ متوجه شود رشته است. بدین ترتیب کامپایلر می‌تواند خطا های موجود در نوع داده را پیش از اجرای برنامه تشخیص دهد.

۳- C++ زبان برنامه‌نویسی چند پارادایمی است C++: از حداقل ۷ سبک مختلف برنامه ‌نویسی پشتیبانی می‌کند و توسعه ‌دهنده ‌ها آزادی عمل انتخاب هر یک را به دلخواه دارند. برخلاف جاوا و پایتون در این زبان مجبور نیستید از اشیا برای حل همه وظایف استفاده کنید. شما می‌توانید سبک برنامه ‌نویسی که با خواست شما سازگارتر است انتخاب کنید.

۴- برنامه‌نویسی شی گرا با C++ امکان پذیر است: برنامه‌نویسی شی گرا به حل مسائل پیچیده کمک می‌کند. با بهره‌گیری از مفاهیم شی گرایی در C++ می‌توان مسائل پیچیده را با ساخت اشیا به مسائل کوچک ‌تری تقسیم کرد.

۵- کتابخانه استاندارد قدرتمند: (Standard template library – STL) قدرت C++ با بهره‌گیری از کتابخانه‌ های استانداردی که در آن وجود دارد افزایش می‌ یابد. این کتابخانه ‌ها شامل الگوریتم ‌های مفیدی هستند که می‌توان در زمان کد نویسی از آن‌ ها استفاده کرد.

۵ دلیل که چرا باید C++ یاد بگیرید

این یکی از سوالاتی است که قبل از شروع هر زبان برنامه نویسی باید بپرسید و کمک می کند تا حوزه زبان را درک کنید، قابلیت استفاده در دنیای واقعی را بدانید و تا چه حد می توانید از آن در زمینه پشتیبانی استفاده کنید. در اینجا ۵ دلیل برای یادگیری C++ آورده شده است.

۱- غیر قابل جایگزین است

با توجه به کاربرد زبان برنامه ‌نویسی++C در بازی‌های مدرن، سیستم ‌های عامل، مرورگرها و غیره می‌توان به جرات گفت که غیر قابل جایگزینی است. بسیاری از برنامه های کاربردی با استفاده از ++C ایجاد شده‌اند:

  • محصولات Adobe مانند فتوشاپ، ایلستریتور، ایندیزاین
  • آمازون- یکی از بزرگ ‌ترین سایت های تجارت الکترونیک
  • محصولات Autodesk برای طراحی کامپیوتری
  • فیسبوک – یکی از بزرگ ترین شبکه های اجتماعی

به علاوه این واقعیت نیز وجود دارد که یک جامعه بزرگ در حال بهبود ++C هستند و انتظار می ‌رود استفاده از این زبان در آینده بیشتر هم شود.

۲- معماری داخلی کامپیوتر را یاد می گیرید

++C زبان سطح متوسط است، کد هایی که با آن نوشته می شوند، مستقیما با سخت افزار داخلی کامپیوتر کار می کنند به همین دلیل با نحوه ی کار حافظه، نحوه ی ذخیره اطلاعات در آن، نوع بازیابی اطلاعات و… آشنا می شوید و دانش معماری کامپیوتر شما افزایش می یابد.

۳- بیش از ۶۰۰۰۰۰ مخزن C++ در گیت هاب وجود دارد

گیت هاب بزرگ ترین سایت همکاری منبع باز دنیاست. در آن بیش از ۶۰۰۰۰۰ مخزن فقط برای C++ وجود دارد. این معیار به تنهایی اهمیت C++ را ثابت می کند. شما در هر زمینه ای کار کنید، هزاران پروژه منبع باز مرتبط با موضوعتان وجود دارد. در اینجا می توانید مشاهده کنید!

۴- نرخ پاسخ دهی فعال ۶۰ درصد در StackOverflow

سایت StackOverflow بزرگ ترین منبع پرسش و پاسخ برنامه نویسی دنیاست. بیش از ۴۰۰۰۰۰ سوال در مورد C++ و بیش از ۶۰ درصد پاسخ برای آن ها وجود دارد. تعداد سوالات و درصد پاسخ آن ها نشان دهنده ی جامعه ی فعال توسعه دهندگان C++ است. پس می توان انتظار داشت توسعه دهندگان زیادی وجود دارد که در صورت بروز مشکل در زمینه ی C++ به شما کمک کنند.

۵- فرصت های شغلی و دستمزد در C++

بر اساس آمار، توسعه دهندگان C++ میانگین حقوق ۱۰۰۰۰۰ دلار در سال دارند و بیش از ۷۷۰۰ موقعیت شغلی ماهانه برای آن ها وجود دارد. بیشتر موقعیت های شغلی در زمینه های بازی سازی، موتور های رندرینگ و برنامه های ویندوزی پیشنهاد می شوند.

۴ چیزی که قبل از کدنویسی C++ باید بدانید

۱- یک روزه نمی توان آن را آموخت یادگیری هر زبانی به زمان احتیاج دارد و در مورد C++ مشهود تر است. اگر فکر می کنید که می توانید در یک روز آن را یاد بگیرید، در انتهای روز نا امید خواهید شد. صادقانه می توان گفت هیچ زمانی را برای یادگیری کامل C++ نمی توان گفت. می بایست زمان زیادی را صرف یادگیری آن بکنید.

۲- یادگیری آن می توان دشوار باشد چون C++ زبان سطح بالایی نیست، امکان دارد در ابتدا یادگیری آن مشکل باشد و مجبور شوید ساعت ها وقت خود را صرف تمرکز برای یادگیری بکنید.

۳- احتیاجی به یادگیری C قبل از C++ نیست بعضی افراد فکر می کنند که قبل از C++ باید C را یاد بگیرند، اما چنین الزامی وجود ندارد. می توانید یادگیری را از C++ شروع کنید و هیچ مشکلی هم پیش نخواهد آمد. اگر از قبل با C آشنایی داشته باشید، یادگیری برایتان آسان تر خواهد بود زیرا خصوصیت های مشابهی از نظر ساختار و معنا با هم دارند.

۴- منتظر انتشار نسخه ی بعدی C++ نمانید بسیاری از افراد می پرسند آیا بهتر نیست صبر کنند تا نسخه ی جدید منتشر شود و سپس شروع به یادگیری کنند؟ پاسخ نه است. با اینکه به نسخه هایی که در آینده منتشر می شوند امکانات زیادی اضافه می شود اما مفاهیم اساسی یکی هستند. پس بهتر است زمان خود را هدر ندهید و از همین آلان یادگیری را شروع کنید.

اولین برنامه C++

اگر کامپایلر را بر مبنای سیستم عامل خود نصب کرده‌اید. زمان آن رسیده که نخستین برنامه خود را بنویسید.

“Hello World!”

نخستین برنامه C++ برنامه Hello World! خواهد بود.

این برنامه ‌ای است که در همه زبان ‌های برنامه ‌نویسی به عنوان نخستین برنامه نوشته می‌شود؛ زیرا:

  • این برنامه یک رویه استاندارد برای بررسی صحیح بودن همه چیز است.
  • در آغاز به کد نویسی کمی نیاز هست.
  • این کد برای افراد مبتدی فهم آسان تری دارد و بهتر می‌توانند با زبان آشنا شوند.
  • این کد برای یادگیری ساختار ابتدایی و معنا شناختی زبان کافی است.

پس شروع به کد نویسی می‌کنیم:

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. cout<<“Hello World!”;
  6. return 0;
  7. }

این برنامه عبارت Hello World! را در خروجی چاپ می کند.

برنامه چطور کار می کند؟

اکنون نوبت به بررسی کد بالا رسیده است. این کد را به شش قسمت می‌توان تقسیم کرد:

  • #include <iostream>
  • using namespace std
  • ;
  • int main(){ }
  • cout << “Hello World!”;
  • return ۰;

۱- #include <iostream> به چه معناست؟

اگر قبلاً با زبان C کار کرده باشید احتمالاً این خط کد را دیده اید. اگر چنین نیست به توضیحاتی که در ادامه آمده توجه کنید.

این گزاره فایل هدر را در اپلیکیشن می‌ گنجاند به طوری که می‌توانیم از عملیات موجود در آن استفاده کنیم. ضمناً می‌توانید فایل‌های هدر خاص خود را ایجاد کرده و آن‌ها را با استفاده از # include در برنامه بگنجانید.

iostream به چه معنا است؟

iostream نام فایل هدر است. فایل کتابخانه استاندارد ورودی/خروجی C++ است. این کتابخانه به همراه کامپایلر/IDE می‌ آید و شامل مکانیزم هایی است که اطلاعات را از کاربر می‌گیرد و خروجی را در یک فایل، صفحه نمایش یا هر رسانه دیگری نمایش می‌دهد.

# include چیست؟

برای گنجاندن فایل iostream در برنامه از دستور #include استفاده می کنیم. این دستور تضمین می‌کند که می ‌توان از عملیات های فایل iostream مانند گرفتن ورودی از کاربر، نمایش خروجی روی صفحه در برنامه استفاده کرد.

۲- عبارت using namespace std; به چه معناست؟

به کمک آن از فضای نامی به نام std در برنامه استفاده می‌کنیم. ما از namespace std برای تسهیل ارجاع به عملیات موجود در آن فضای نام بهره می‌گیریم. اگر از این فضای نام استفاده نکنیم، باید به جای cout از std::cout استفاده کنیم. این دستور به کامپایلر اعلام می‌کند که هر cout در واقع std::cout است.

namespace یعنی چه؟

کد برنامه اینجا قرار می‌گیرد. این گزینه دامنه کد را به یک یا چند فایل محدود کرده یا گسترش می‌دهد.

چرا باید از namespace استفاده کرد؟

همان طور که دو نفر ممکن است نام مشابه داشته باشند، متغیر ها و توابع هم در C++ ممکن است نام ‌های مشابه داشته باشند. استفاده از namespace برای جلوگیری از تداخل متغیر ها و توابع و ارجاع صحیح به هر کدام از آن‌ها است.

std چیست؟

std فضای نام استاندارد مورد استفاده در C++ است.

۳- سمی کالن یا نقطه ویرگول;

اگر از هر برنامه ‌نویسی بپرسید، دست‌کم یک داستان ترسناک در مورد نقطه‌ ویرگول برایتان تعریف می‌کند. نقطه‌ ویرگول کاراکتر پایانی محسوب می‌شود و گزاره را می ‌بندد. زمانی که آن را فراموش کنید یا به صورت نادرستی از آن استفاده کنید، مشکلات زیادی به وجود می آورد.

۴- int main(){} به چه معناست؟

تابع اصلی برنامه است. کد درون {} است که body نامیده می‌شود و زمانی که برنامه را اجرا کنید، قبل از همه اجرا می‌شود. تنها کدی است که در برنامه ‌های C++ وجود آن اجباری است. اگر تنها این کد را در برنامه داشته باشید، از نظر کامپایلر برنامه معتبر است.

۵- cout<< “Hello World!”

این خط عبارت Hello World! را در صفحه خروجی نمایش می‌دهد. cout شیء استاندارد stream خروجی است؛ یعنی وظیفه آن چاپ داده‌های موجود (به عنوان مثال Hello world!) پس از << در یک stream است.

stream چیست؟

stream به یک توالی از اشیا و یا معمولا بایت ‌ها گفته می‌شود. این توالی می ‌تواند فایل، ترمینال ورودی/خروجی، سوکت و… را توصیف کند.

>> به چه معنا است؟

>> عملگر درج است که برای نوشتن داده ‌های قالب‌ بندی شده در stream استفاده می‌شود.

۶- معنی return 0; چیست؟

این گزاره مقدار ۰ را بازگشت می‌دهد. گزاره‌های return اجباری نیستند و الزامی برای بازگشت دادن یک مقدار از تابع main() وجود ندارد، اما نوشتن آن یک قرارداد است. اگر این گزاره ذکر نشود، کامپایلر به طور خودکار یک وضعیت را بازگشت می‌دهد.

چرا در گزاره بازگشت از ۰ استفاده می‌شود؟

مقدار ۰ به معنی وضعیت Exit از اپلیکیشن است که به سیستم اعلام می‌کند برنامه کار خود را به پایان رسانده است.

profile name
تیم تولید محتوا

بخندید کتاب بخونید و خوب باشید تا جامعه مون به آرامش برسه. لطفا ! هر سوالی دارید در بخش نظرات مطرح کنید. ما یا سایر هموطنان عزیز پاسخ خواهیم داد. برای کمک به سایت ما و گسترش آموزش در بین هموطنان، در سایتها، وبلاگ ها و شبکه های اجتماعی لینک سایت ما را درج کنید.

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش پایتون صفر تا صد (پکیج 2)
آموزش پایتون صفر تا صد (پکیج 2)
قیمت محصول 450,000 تومان 490,000
ادامه مطلب

دیدگاهتان را بنویسید

1 2 3 4 5

9 نظر درباره «یادگیری برنامه نویسی C++: همه نکات مهم که مبتدیان باید بدانند!»

  • Ehsan
    Ehsan آیا این دیدگاه مفید بود ؟

    سلام خوبه که داری وقت می گداری اموزش میدی
    اما واضح توضیح ندادی، برای کسی که مثل من برنامه نویسی را اصلا بلد نیست تازه می خواد یاد بگیره همه چی گنگه الفبا را بایستی با حوصله به کسی که تازه رفته مدرسه یاد داد ، از همون جملات اول به مشکل خوردم مثلا فایل هدر چیه، کتابخانه چیه و... بهتر بود بیشتر توضیح می دادی ، رسم شکل و گرافیگ خیلی کمک میکنه اگر با شکل نشون بدی مثلا وقتی برنامه ای که برای نوشتن برنامه فکر کنم اسمش ide نصب میشه دراصل داره چه فایلهای اطلاعاتی نصب میشه و به چه دردی میخورن و همینطور وقتی کدهای اولیه منظورم همون چند خط کد اولیه است که بهشون میگی هدر و ... نوشته میشن تو دل برنامه یا پس زمینه برنامه که ما نمیبینیم چه اتفاتی داره میوفته که برنامه ایجاد میشه و موقع اجرا چطور در پس زمینه برنامه و دیتا خوانده و اجرا میشوند اینها دارن چیکار میکنن ، به ترتیب چی به چی ربط پیدا میکنه و اینکه اصلا اینها را چرا بوجود اوردن ضرورت و کار کردشون چی بوده
    امیدواریم کامنتم رو بخونی

    پاسخ
    • zahra

      منم امیدوارم کامنتتو بخونه واقعا

    • Snipguy

      خب بخاطر این هست که آموزشهای ما رو از ابتدا شروع نکردین. اگر واقعا سطح مبتدی هستین چرا با ویدیوهای صفر تا صد ما شروع نمی کنید؟ کاملا رایگان هستند <a href=https://sariasan.com/c/arrays-strings/c-plus-plus-full-free-lessons/>روی این لینک کلیک کنید</a>. یا اینکه <a href=https://sariasan.com/c/>از اینجا</a> با آموزشهای نوشتاری شروع کنید با الفبا

      • ناشناس

        نکته شما درسته ولی موضوع این مقاله در مورد چیز هایی هست که مبتدی ها باید بدونن

    • alireza

      اتفاقا سخت نیستش بنظر من من رشتم ریاضی بوده و راحت برام قابل فهمه شما یکم باید ریاضی پایه تون رو قوی کنید برنامه نویسی غول چرا جادو نیستش فقط باید از بد های مختلف بهش نگاه کنید

  • هومهر
    هومهر آیا این دیدگاه مفید بود ؟

    سلام من میخوام یک برنامه با رابط گرافیکی بسازم بعد باید چیکار کنم؟ و اینکه نمیشه از کتابخانه iostream برای برنامه های گرافیکی استفاده کرد؟

    پاسخ
  • موسی الرضا
    موسی الرضا آیا این دیدگاه مفید بود ؟

    این نسخه آموزشی که دادین مال کدوم ورژن از ++c هستش؟

    پاسخ
  • مینا
    مینا آیا این دیدگاه مفید بود ؟

    خیلی خوب توضیح دادید. سپاس ازشما

    پاسخ
  • محمد
    محمد آیا این دیدگاه مفید بود ؟

    دوستان عزیزی که قصد شروع برنامه نویسی با این زبان را دارند کمی سنگین و عمیق هستش و ممکنه دل زده بشوید بهتر است با توجه به مسیری که در پیش دارید زبان سبک تری را برای شروع انتخاب کنید مثلا پایتون بد نیست یادگیری این زبان نیاز به یک درک درستی از کارکرد کامپیوتر و اجزای آن دارد که مثلا چند سال باید در این حوزه فعال بوده باشید و بعد به سراغ این زبان بیایید باز هم تصمیم با شماست

    پاسخ
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید