آموزش ++C – راهنمای شروع یادگیری


++C بر اساس آخرین رتبهبندیها در رده چهارم محبوبترین زبانهای برنامهنویسی قرار دارد. یادگیری زبان برنامهنویسی ++C برای همه برنامهنویسها یک سرمایهگذاری هوشمندانه محسوب میشود. در این راهنما به همه سؤالات مرتبط با ++C در خصوص این که چیست؟ به چه منظور استفاده میشود؟ چرا استفاده میشود و چگونه میتوانید شروع به یادگیری آن بکنید پاسخ خواهیم داد. با مجموعه مقالات آموزش ++C مجله فرادرس همراه شوید.
زبان برنامهنویسی ++C چیست؟
++C یک زبان برنامهنویسی با «نوعبندی ایستا» (statically-typed)، فرم آزاد، (عموماً) کامپایل شونده، سطح متوسط، چندمنظوره و چند پارادایمی است. به بیان ساده ++C یک زبان برنامهنویسی پیچیده و کارآمد برای مقاصد عمومی است که بر مبنای C ساخته شده است. این زبان در سال 1979 از سوی «بیانه استروستراپ» (Bjarne Stroustrup) توسعه یافته است.
بسیاری از سیستمهای عامل امروزی، درایورهای سیستم، مرورگرها و بازیها از ++C به عنوان زبان اصلی خود استفاده میکنند. این امر موجب شده است که ++C امروزه یکی از محبوبترین زبانها به حساب آید. از آنجا که این زبان نسخه بسط/بهبودیافته زبان برنامهنویسی C محسوب میشود، C و ++C در اغلب موارد به صورت یکپارچه ++C/C مورد اشاره قرار میگیرند.
پیش از ادامه این مبحث لازم است یادآور شویم که میتوانید ++C را با استفاده از مجموعه آموزش برنامه نویسی سی پلاس پلاس، مقدماتی تا پیشرفته فرادرس یاد بگیرید.
تاریخچه ++C
زمانی که Bjarne Stroustrup در سال 1379 در AT&T Bell Labs کار میکرد با مشکلاتی در زمینه تحلیل کرنل UNIX برای سیستمهای توزیع یافته مواجه شد. زبان آن یا بسیار کند و یا بسیار سطح پایین بود. از این رو تصمیم گرفت یک زبان جدید ایجاد کند.
وی برای ساخت این زبان جدید C را انتخاب کرد. دلیل این مسئله آن بود که C یک زبان عمومی، بسیار کارآمد و همچنین دارای عملیات سریع بود. او از دانش خود در زمینه مدل شیءگرای زبان SIMULA استفاده کرد و کار روی بسط کلاسها به زبان C را آغاز نمود. هدف او ایجاد زبانی بود که سطوح بالاتری از تجرید را داشته باشد و همزمان کارایی زبان C نیز حفظ شود.
این زبان برنامهنویسی جدید به صورت «C withClasse» یعنی «C به همراه کلاس» نامگذاری شد؛ اما در ادامه نام آن به ++C تغییر یافت. منظور از ++ در آخر نام آن اشاره به عملگر افزایشی در زبان C دارد.
++C98: زمانی که ++C نخستین بار در سال 1985 منتشر شد، هیچ استاندارد رسمی در مورد آن وجود نداشت. در واقع نخستین نسخه استانداردشده این زبان در سال 1998 انتشار یافت که به نام ++C98 شناخته میشود.
++C03: در سال 2003 نسخه جدیدی از زبان ++C انتشار یافت. ++C03 در واقع کلاً یک استاندارد جدید محسوب نمیشد؛ اما برخی باگهای نسخه ++C98 در آن اصلاح شده بود «تا یکپارچگی و پرتابل بودن بیشتری تضمین شود».
++C11 (یا ++C0X): استاندارد عمده بعدی زبان ++C در سال 2011 انتشار یافت و به نام ++C11 شناخته شد. از آنجا که کمیته ++C مطمئن بود که این نسخه در سال 2009 انتشار خواهد یافت، نام آن را ++C0X گذاشت. بعداً و با عدم انتشار این نسخه، Stroustrup این شوخی را مطرح کرد که ++C0X به صورت هگزادسیمال ++C0xB تبدیل شده است که معادل ++C11 است.
++C14 (یا ++C1y): استاندارد ++C14 در سال 2014 منتشر شده است و همانند ++C03 شامل رفع باگها و برخی بهبودهای جزئی نسبت به ++C11 است.
++C17 (یا ++C1z): نسخه بعدی از این زبان به نام ++C17 در سال 2017 منتشر شده است و آخرین نسخه انتشاریافته این زبان محسوب میشود. در این نسخه ویژگیهای جدیدی به این زبان اضافه شده است.
++C20: نسخه بعدی این زبان برنامهنویسی قرار است در سال 2020 میلادی منتشر شود و امکانات جالب دیگری به آن اضافه خواهد شد.
قابلیتهای ++C
++C به دلیل ماهیت عمومی بودن خود دارای قابلیتهای متنوعی است. پرداختن به همه این قابلیتها کاری زمانبر است؛ اما به عنوان یک مقدمه کوتاه در ادامه برخی از قابلیتهای مهم این زبان را که به عنوان یک مبتدی باید بدانید ارائه کردهایم.
1. ++C سریع است: از آنجا که ++C نسخه بسط یافتهای از C است، بخش زبان C آن کاملاً سطح پایین است. این امر موجب ارتقای زیادی در سرعت آن شده است که زبانهای سطح بالا مانند پایتون یا جاوا نمیتوانند ارائه کنند.
2. ++C دارای نوعبندی صریح است: ++C یک زبان با نوعبندی صریح است، یعنی این زبان به کامپایلر امکان فرضیهسازی در مورد نوع دادهها را نمیدهد. برای نمونه در این زبان نمیتوانید عدد 10 را به صورت «10» بنویسید و انتظار داشته باشید که ++C متوجه شود این نوع دوم یک رشته است. بدین ترتیب کامپایلر میتواند خطاهای موجود در نوعبندی داده را پیش از اجرای برنامه تشخیص دهد.
3. ++C یک زبان برنامهنویسی چند پارادایمی است: ++C از دستکم 7 سبک مختلف برنامهنویسی پشتیبانی میکند و توسعهدهندهها آزادی عمل انتخاب هر یک را به دلخواه خود دارند. برخلاف جاوا و پایتون در این زبان مجبور نیستید از شیءها برای حل همه وظایف استفاده کنید. شما میتوانید آن سبک برنامهنویسی را که با کاربردهای خاص شما سازگارتر است را انتخاب کنید.
4. برنامهنویسی شیءگرا با ++C ممکن است: برنامهنویسی شیءگرا به حل شهودی مسائل پیچیده کمک میکند. با بهرهگیری از مفاهیم شیءگرایی در ++C میتوان این مسائل پیچیده را با ساخت اشیا به مجموعههای کوچکتری تقسیم کرد.
5. کتابخانه استاندارد (Standard template library - STL) قدرتمند است: قدرت ++C با بهرهگیری از کتابخانههای استانداردی که در آن وجود دارد بسط بیشتری مییابد. این کتابخانهها شامل الگوریتمهای کارآمدی هستند که میتوان در زمان کدنویسی استفاده گستردهای از آنها کرد. این امر به صرفهجویی عمدهای در تلاشهای برنامهنویسی منتهی میشود که در غیر این صورت صرف اختراع مجدد چرخ میشدند.
5 دلیل برای انتخاب زبان برنامهنویسی ++C
شاید از خود پرسیده باشید که چرا باید زبان ++C را انتخاب کرد؟ این سؤالی است که پیش از شروع به یادگیری هر زبان برنامهنویسی باید پرسیده شود. این سؤال به شما کمک میکند که دامنه زبان، کاربردهای واقعی آن و میزان پشتیبانی آن را درک کنید. در ادامه 5 دلیل برای یادگیری زبان برنامهنویسی ++C ارائه شده است.
1. ++C غیر قابل تکرار است
با توجه به کاربرد زبان برنامهنویسی ++C در بازیهای مدرن، سیستمهای عامل، مرورگرها و موارد دیگر میتوان به جرات گفت که این زبان غیر قابل تکرار است.
بسیاری از اپلیکیشنهای عمده مانند موارد زیر با استفاده از ++C ساخته شدهاند:
- محصولات Adobe مانند فتوشاپ، ایلستریتور، ایندیزاین.
- آمازون به عنوان بزرگترین سایت تجارت الکترونیک
- محصولات Autodesk برای طراحی به کمک رایانه
- فیسبوک نیز به عنوان بزرگترین شبکه اجتماعی، استفاده گستردهای از ++C کرده است.
به علاوه این واقعیت نیز وجود دارد که یک جامعه عظیمی در پس این زبان قرار دارند که به بهبود ++C در هر نسخه کمک میکنند و بدین ترتیب انتظار میرود استفاده از این زبان در آینده بیش از این نیز گسترش یابد.
2. معماری داخلی رایانه را میآموزید
از آنجا که ++C یک زبان سطح متوسط است، کدی که با آن نوشته میشود به صورت مستقیم با سختافزار داخلی رایانه کار میکند. بدین ترتیب شما با طرز کار واقعی حافظه رایانه، شیوه ذخیرهسازی اطلاعات در آنها، نوع بازیابی اطلاعات و مواردی از این دست آشنا میشوید. بدیهی است که بدین ترتیب دانش شما از معماری رایانه افزایش مییابد.
3. بیش از 600،000 ریپازیتوری ++C روی گیتهاب وجود دارد
گیتهاب بزرگترین پلتفرم همکاری اوپنسورس دنیا است و روی این پلتفرم بیش از 600،000 ریپازیتوری صرفاً برای زبان ++C وجود دارد. این معیار به تنهایی ارزش ++C را در جامعه اوپنسورس اثبات میکند. شما چه در زمینه بازیسازی، چه گرافیک و چه اپلیکیشنهای ویندوزی فعالیت بکنید، در هر صورت هزاران پروژه اوپنسورس عالی وجود دارند و شما نیز میتوانید پروژه خود را بسازید.
4. 60 درصد نرخ پاسخدهی فعال در وبسایت StackOverflow
وبسایت StackOverflow به عنوان بزرگترین پلتفرم پرسش و پاسخ برنامهنویسی دنیا میزبان بیش از 400،000 سؤال در خصوص ++C است و بیش از 60 درصد از این سؤالها پاسخ داده شدهاند. تعداد سؤالات پرسیده شده و درصد پاسخ دادن به آنها کاملاً جالب هستند و نشانگر جامعه فعال توسعهدهندگان ++C هستند. بنابراین میتوان انتظار داشت که توسعهدهندگان خوب زیادی وجود دارند که در صورت بروز مشکلات روزمره در زمینه ++C به شما کمک میکنند.
5. فرصتهای شغلی و حقوق برنامهنویسان ++C
بر اساس آمار، توسعهدهندگان ++C میتوانند میانگین حقوق 100000 دلار سالانه را داشته باشند و بیش از 7700 موقعیت شغلی هر ماه برای آنها تبلیغ میشوند. اغلب موقعیتهای شغلی در زمینههای توسعه بازی، موتورهای رندرینگ و اپلیکیشنهای ویندوزی پیشنهاد میشوند.
4 نکتهای که پیش از کدنویسی با ++C باید بدانید
اینک که میدانید ++C چیست و دامنههای آن تا چه حد گسترده است، نوبت آن رسیده است که شروع به یادگیری آن بکنید؛ اما پیش از آغاز چند نکته مهم وجود دارند که باید بدانید. در ادامه 4 مورد از مهمترین نکاتی که باید بدانید را گرداوری کردهایم.
1. ++C را نمیتوان در طی یک روز آموخت
یادگیری هر زبانی به زمان نیاز دارد و این واقعیت در مورد ++C بسیار مشهودتر است. اگر فکر میکنید در طی یک روز میتوانید زبان برنامهنویسی ++C را بیاموزید، در این صورت ممکن است در انتهای روز ناامید شوید.
اگر بخواهیم صادق باشیم، هیچ زمانی برای یادگیری کامل ++C نمیتوان ذکر کرد و هرکسی هم زمانی برای آن تعیین کند، در واقع دروغ گفته است. شما میتوانید شروع به یادگیری ++C با استفاده از رویههای معمول بکنید و میبایست زمان زیادی را صرف یادگیری ++C بکنید.
2. یادگیری ++C میتواند دشوار باشد
از آنجا که ++C یک زبان سطح بالا نیست، یادگیری آن میتواند در ابتدا پیچیده باشد و احتمالاً باید ساعتها از وقت خود را صرف تمرکز برای یادگیری مبانی این زبان بکنید. اما لازم نیست نگران باشید، چون ما منابع زیادی را برای یادگیری ++C در انتهای این مقاله معرفی میکنیم که به آغاز یادگیری این زبان برای افراد مبتدی کمک میکند. ضمناً جامعههای پشتیبانی زیادی وجود دارند که در موارد بروز مشکل میتوانند به شما کمک بکنند.
3. نیازی به آموختن C پیش از C وجود ندارد
افراد مختلف گاهی این فرضیه را در ذهن خود دارند که قبل از یادگیری ++C باید زبان C را نیز آموخت؛ اما چنین لزومی قطعاً وجود ندارد. شما میتوانید صرفاً کار خود را با یادگیری ++C شروع کنید و هیچ اشکالی هم پیش نمیآید. اگر از قبل با ++C آشنا باشید، آغاز یادگیری ++C برای شما آسانتر خواهد بود، چون خصوصیتهای مشابهی از نظر ساختار و معناشناختی دارند؛ اما مطلقاً چنین الزامی وجود ندارد.
4. منتظر انتشار نسخه بعدی ++C نمانید
از آنجا که نسخه بعدی این زبان در سال آینده انتشار خواهد یافت، بسیاری از افراد میپرسند که آیا بهتر نیست صبر کنند تا نسخه جدید منتشر شود و سپس شروع به یادگیری بکنند؟ پاسخ نه است! با این که امکانات زیادی به نسخه آینده این زبان اضافه خواهد شد؛ اما مفاهیم اساسی یکسان هستند. از این رو بهتر است زمان خود را هدر ندهید و از همین الان شروع به یادگیری زبان برنامهنویسی ++C بکنید.
برنامههای ++C را روی سیستم عامل خود کامپایل و اجرا کنید
++C کاملاً رایگان است و روی همه پلتفرمها منتشر شده است. در ادامه شیوه اجرای ++C را روی رایانههای مختلف توضیح دادهایم. چندین کامپایلر و ویرایشگر متنی وجود دارند که میتوانید برای برنامهنویسی ++C مورد استفاده قرار دهید. این موارد ممکن است در سیستمهای مختلف، متفاوت باشند. اگر میخواهید کار خود را به سرعت آغاز کنید میتوانید برنامههای ++C را به صورت آنلاین اجرا کنید.
اجرای آنلاین برنامههای ++C
بیدردسرترین روش برای اجرای برنامهنویسی ++C روش آنلاین است و چندین کامپایلر به این منظور وجود دارند. چندین سایت وجود دارند که امکان اجرای آنلاین برنامهنویسی ++C را میدهند. برای نمونه وبسایت ideone.com (+) یکی از گزینههای مناسب است.
برای اجرای برنامهنویسی ++C در وبسایت ideone.com باید در انتهای ویرایشگر خود زبان ++C را انتخاب کنید و کدتان را نوشته و روی Run کلیک کنید. البته استفاده از کامپایلرهای آنلاین به جز موارد تست توصیه نمیشود، زیرا استفاده بسیار محدودی دارند و نمیتوانید با فایلها کار کنید یا ورودی از سوی کاربر داشته باشید.
برای استفاده از همه ظرفیت ++C پیشنهاد میشود که یک کامپایلر نصب کنید و برنامههای C را روی سیستم خود اجرا کنید. در همین راستا و در ادامه سادهترین روش برای اجرای برنامهنویسی ++C روی یک سیستم (مک، ویندوز و لینوکس) ارائه شده است که با مقاصد افراد مبتدی تناسب بیشتری دارد.
برنامهنویسی ++C روی Mac OS X
سادهترین روش برای اجرای برنامهنویسی ++C روی MAC OS X از طریق دانلود کردن Xcode است. به این منظور به صفحه توسعهدهندگان وبسایت اپل (+) بروید.
روی لینک دانلود Xcode کلیک کنید. پیشنهاد شده است که جدیدترین نسخه را هر چند که بتا باشد، دانلود کنید. زمانی که دانلود پایان یافت، Xcode را باز کنید و از ویزارد داخل آن برای نصب استفاده کنید. بهتر است آن را برای استفادههای آتی در بخش Applications قرار دهید. در ادامه Xcode را باز کرده و به مسیر File > New > Project بروید.
زیر بخش OS X section، گزینه Application و سپس ابزار Command Line Tool را انتخاب کرده و Next را بزنید.
یک «نام محصول» (Product Name) برای نمونه Hello وارد کنید و در بخش زبان گزینه ++C را انتخاب کنید. سپس روی Next کلیک کنید.
در ادامه مکانی که میخواهید پروژه در آن ذخیره شود را انتخاب کنید. میتوانید دکمه Create Git repository را غیرفعال کرده و Create را کلیک کنید. به فایل main.cpp روی صفحه بروید. این همان جایی است که کد پیشفرض از سوی Xcode ارائه شده است.
کد را بنا به دلخواه خود تغییر دهید. در نهایت برای اجرای کد به مسیر Product > Run بروید و یا صرفاً کلیدهای CMD + R را بزنید. به صورت پیشفرض خروجی را در انتهای همان صفحه ملاحظه خواهید کرد.
اجرای برنامهنویسی ++C روی لینوکس
برای اجرای برنامهنویسی ++C روی لینوکس به موارد زیر نیاز دارید:
- یک کامپایلر: ما کامپایلر GNU GCC را نصب خواهیم کرد که برای افراد مبتدی مناسبتر است.
- ابزارها و کتابخانههای توسعه
- یک ویرایشگر متنی (gEdit برای مقاصد مورد نظر ما مناسب است). همچنین میتوانید یک ویرایشگر متنی بنا به دلخواه خود دانلود کنید.
در ادامه مراحل مختلف که برای اجرای ++Cدر لینوکس (Ubuntu ،Debian ،CentOS ،Fedora ،Redhat و Scientific) لازم است را توضیح میدهیم.
ابتدا ترمینال را باز کنید و دستور زیر را اجرا کنید:
برای توزیعهای Ubuntu و Debian
$ sudo apt-get update $ sudo apt-get install build-essential manpages-dev
برای لینوکسهای CentOS ،Fedora ،Redhat و Scientific:
# yum groupinstall 'Development Tools'
بدین ترتیب کامپایلر GNU GCC و ابزارهای مرتبط روی سیستم شما نصب میشود. برای تأیید نصب کامپایلر gcc دستور زیر را وارد کنید:
$ gcc –version
ویرایشگر متنی دلخواه خود را باز بکنید و فایلی با پسوند cpp. ذخیره کنید. برای نمونه میتوانید فایلی به نام hello.xpp را با استفاده از gEdit بسازید. اگر با لینوکس آشنایی بیشتری دارید، میتوانید از vim یا emacs نیز استفاده کنید. هر ویرایشگری مناسب است؛ اما فراموش نکنید که پسوند cpp. حائز اهمیت است. به آن دایرکتوری که فایل قرار دارد بروید و دستور زیر را اجرا کنید:
$ g++ program-source-code.cpp-o name-of-your-choice
در دستور فوق program-source.code.cpp نام فایلی است که قبلاً انتخاب کردهاید. و name-of-your-choice میتواند هر نامی که ترجیح میدهید باشد. در مورد این مثال ما دستور زیر را اجرا میکنیم:
$ g++ hello.cpp -o hello
اگر خطایی نباشد یک فایل اجرایی به نام hello ایجاد میشود. در نهایت میتوانید خروجی را با استفاده از دستور زیر ببینید:
$./hello
همان طور که احتمالاً میدانید باید از نام فایل اجرایی منتخب خود استفاده کنید. ضمناً در صورتی که از دایرکتوری متفاوتی استفاده میکنید باید مسیر فایل اجرایی را نیز قید کنید.
اجرای ++C روی ویندوز (XP ،8 ،7 و 10)
برای اجرای برنامهنویسی ++C روی ویندوز باید Code::Blocks را دانلود کنید. البته نسخههای دیگری نیز وجود دارند؛ اما نصب Code::Blocks آسانتر است. این کامپایلر ساده، آسان و مناسب توسعه است. برای این که این فرایند هر چه سادهتر شود میتوانید از راهنما گام به گام زیر استفاده کنید.
به سایت رسمی (Code:Blocks) دانلود نسخه باینری Code:Blocks بروید:
در بخش Windows XP / Vista / 7 / 8.x / 10 روی لینکی با ردیف هایلایت شده mingw-setup از Sourceforge.net یا FossHub کلیک کنید. فایل نصب Code::Blocks را باز کنید و با پیگیری دستورالعملها (Next > I agree > Next > Install) آن را نصب کنید. لازم نیست چیزی را تغییر دهید. بدین ترتیب Code::Blocks به همراه کامپایلر gnu gcc نصب میشود که بهترین کامپایلر برای افراد مبتدی است. اینک Code::Blocks را باز کرده و به مسیر File > New > Empty file (با کلیدهای میانبر Ctrl + Shift+ N) بروید:
کد ++C خود را بنویسید و فایل را با پسوند cpp. ذخیره کنید. برای ذخیره کردن فایل میتوانید به مسیر File > Save یا کلیدهای میانبر Ctrl + S بروید.
نکته مهم: نام فایل باید دارای پسوند cpp. باشد.
برای اجرای برنامه به مسیر Build > Build and Run (با میانبر F9) بروید. این دستور فایل اجرایی را ساخته و آن را اجرا میکند.
اگر برنامه شما اجرا نشد و پیام خطایی را به صورت زیر مشاهده کردید:
can't find compiler executable in your search path(GNU GCC compiler)
مشاهده کردید، باید به مسیر Settings > Compiler > Toolchain executables بروید و روی Auto-detect کلیک کنید. این گزینه در اغلب موارد مشکل را رفع میکند.
آموزش ++C: نخستین برنامه
اکنون شما کامپایلر را بر مبنای سیستم عامل خود نصب کردهاید و زمان آن رسیده که نخستین برنامه ++C خود را بنویسید.
!Hello World
نخستین برنامه ++C ما یک برنامه !Hello World خواهد بود. این برنامهای است که در همه زبانهای برنامهنویسی به عنوان نخستین برنامه نوشته میشود. دلایل این کار به شرح زیر هستند:
- این برنامه یک رویه استاندارد برای بررسی صحیح بودن همه چیز است.
- در آغاز به کدنویسی کمی نیاز هست.
- این کد اندک برای افراد مبتدی آسانفهمتر است و بهتر میتوانند با زبان آشنا شوند.
- این کد برای یادگیری ساختار ابتدایی و معناشناختی زبان کافی است.
پس شروع به کدنویسی میکنیم:
1#include <iostream>
2using namespace std;
3int main()
4{
5 cout<<"Hello World!";
6 return 0;
7}
این برنامه عبارت Hello World! را در صفحه خروجی نمایش میدهد.
برنامه چگونه کار میکند؟
اکنون نوبت به برسی کد فوق رسیده است. این کد را به شش بخش میتوان تقسیم کرد:
- #include <iostream#
- using namespace std
- ;
- { } ()int main
- ;"!cout << “Hello World
- ;return 0
1. بخش <include <iostream# به چه معنی است؟
اگر قبلاً در زبان C کدنویسی کرده باشید احتمالاً این خط کد را مشاهده کردهاید. اگر چنین نیست به توضیحاتی که در ادامه آمده است توجه کنید.
این گزاره فایل هدر را در اپلیکیشن میگنجاند به طوری که میتوانیم از عملیات موجود در آن استفاده کنیم. ضمناً شما میتوانید فایلهای هدر خاص خودتان را نیز ایجاد کرده و آنها را با استفاده از include# در برنامه بگنجانید.
iostream به چه معنا است؟
Iostream نام فایل هدر ما است. این یک فایل کتابخانه استاندارد ورودی/خروجی ++C است.
این کتابخانه به همراه کامپایلر/IDE میآید و شامل سازوکارهایی است که اطلاعات را از کاربر میگیرد و خروجی را در یک فایل، صفحه نمایش یا هر رسانه دیگری نمایش میدهد.
include# چیست؟
برای گنجاندن فایل iostream در برنامه از دستور include# استفاده میشود. این دستور تضمین میکند که میتوان از عملیات درون فایل iostream مانند گرفتن ورودی از کاربر، نمایش خروجی روی صفحه در برنامه استفاده کرد.
2. using namespace std به چه معنا است؟
این گزاره خود گویا است چون ما به وسیله آن از فضای نامی به نام std در برنامه استفاده میکنیم. ما از namespace std برای تسهیل ارجاع به عملیات موجود در آن فضای نام بهره میگیریم. اگر از این فضای نام استفاده نکنیم، باید به جای cout از std::cout استفاده کنیم. این دستور به کامپایلر اعلام میکند که هر cout در واقع یک std::cout است.
فضای نام به چه معنا است؟
این همان جایی است که کد برنامه قرار میگیرد. این گزینه دامنه کد شما را به یک یا چند فایل محدود کرده یا گسترش میدهد.
چرا باید از فضای نام استفاده کرد؟
همان طور که دو فرد ممکن است نام مشابهی داشته باشند، متغیرها و تابعها نیز در ++C ممکن است نامهای یکسانی داشته باشند. استفاده از فضای نام برای جلوگیری از تداخل متغیرها و تابعها و ارجاع صحیح به هر کدام از آنها است.
std چیست؟
Std فضای نام استاندارد مورد استفاده از ++C است.
3. نقطهویرگول (;)
اگر از هر برنامهنویسی بپرسید، دستکم یک داستان ترسناک در مورد نقطهویرگول برای شما تعریف میکند. نقطهویرگول یک کاراکتر پایانی محسوب میشود. این کاراکتر یک گزاره را میبندد. زمانی که آن را فراموش کنید یا به صورت نادرستی از آن استفاده کنید، موجب مشکلات زیادی خواهد شد.
4. { } ()int main به چه معنا است؟
همان طور که از نام این گزاره برمیآید، تابع اصلی برنامه است. کد درون {} به نام «بدنه» (body) نامیده میشود و زمانی که برنامه ++C را اجرا کنید، قبل از همه اجرا میشود. این تنها کدی است که در برنامههای ++C وجود آن اجباری است. اگر تنها این کد را در برنامه خود داشته باشید، از نظر کامپایلر برنامه شما معتبر است.
5. ;"!cout << “Hello World
این گزاره عبارت Hello World! را در صفحه خروجی نمایش میدهد. cout شیء استاندارد stream خروجی است. این بدان معنی است که وظیفه آن خروجی/پرینت دادههای موجود پس از << در یک stream است.
stream چیست؟
stream اساساً به یک توالی از اشیا و به طور معمول بایتها گفته میشود. این توالی میتواند یک فایل، ترمینال ورودی/خروجی، سوکت و موارد دیگر را تعریف کند.
>> به چه معنا است؟
>> عملگر درج است که برای نوشتن دادههای قالببندی شده در stream استفاده میشود.
6. ; return 0 به چه معنا است؟
این گزاره مقدار 0 را بازگشت میدهد. گزارههای return اجباری نیستند و الزامی برای بازگشت دادن یک مقدار از تابع ()main وجود ندارد، اما نوشتن آن یک قرارداد است. اگر این گزاره ذکر نشود، کامپایلر به طور خودکار یک وضعیت را بازگشت میدهد.
چرا در گزاره بازگشت از 0 استفاده میشود؟
مقدار 0 به معنی وضعیت Exit از اپلیکیشن است که اساساً به سیستم اعلام میکند برنامه کار خود را به پایان برده است. ما نیز بدین ترتیب به پایان این مقاله میرسیم.
برای مطالعه قسمت بعدی این مجموعه مطلب آموزشی، روی لینک زیر کلیک کنید:
اگر این مطلب برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی
- آموزش برنامه نویسی ++C
- مجموعه آموزشهای دروس علوم و مهندسی کامپیوتر
- آموزش پیشرفته ++C (شی گرایی در سی پلاس پلاس)
- چند نخی (Multi-Threading) در ++C — به زبان ساده
- برای ساخت بازی کدام زبان برنامهنویسی مناسبتر است؟
- برنامه نویسی شی گرا در C++ — آموزش رایگان، به زبان ساده و جامع
==
با سلام و وقت بخیر من خیلی وقت پیش بود c++ کار کردم الان میخوام دوباره شروع کنم بحث مقدماتی یاد گرفتم بیشتر ایران وخارج از ایزان بیشتر چه زمینه c++ کار کنم که کاربردی تره بیشتره شرکتا کلی منویسن مسلط به c++ به مقدار گیج شدم لطفا راهنمابی کنید چه چیزی از c++ مسلط بشم طراح اپ ویندوز بخش شی گرایی بازی و … اگر راهنامیی کنید از شما سپاس گزار هستم
جناب لطفی..دختر من در المان تحصیل میکنه..رشته مهندسی پزشکی…..جهت انجام کارورزی نیاز به راهنمایی و همکاری داره….اگر برای شما مغدور است و در حیطه کاری جنابعالیست.راهنمایی بفرمایید راه تماس با شما چیست.ممنون
سلام
من زبان C++ رو از فرادرس تهیه کردم و الان تو درس دومشم(if,Switch) مبتدی هستم ولی تا اینجای کار مشکلی نداشتم و به خوبی همچیو تا درس دوم یادگرفتم ولی علاقه زیادی به بازی سازی دارم میخواستم بپرسم این اموزش رو که تموم کنم میتونم با موتور بازی سازی Unreal Engine 4 که از زبان C++ پشتیبانی میکنه کار کنم؟ یا باید دوره پیشرفته C++ رو هم باید یاد بگیرم تا بتونم باهاش کار کنم ممنون میشم پاسخگو باشید.
سلام
من مبتدی هستم وcodeblocksدر ویندوزم اجرا نمیشه
همه نسخه ها(20.03_17.04_16.01_…)دانلود کردم
هیچ کدوم روی ویندوز کامپیوترم اجرا نمیشه.
خواش میکنم ، خواهش میکنم راه نماییم کنید
سلام دوست عزیز؛
بسیار علاقهمند هستم که به شما کمک بکنم، اما مادامی که ندانم مشکل از کجاست، این امر میسر نخواهد بود. با توجه به توضیحی که دادید، احتمالاً مشکل از نصب نسخههای مختلف پیش آمده است. اگر خطای زیر را مشاهده میکنید:
can’t find compiler executable in your search path(GNU GCC compiler)
به مسیر Settings > Compiler > Toolchain executables بروید و روی Auto-detect کلیک کنید. امیدوارم مشکلتان به این طریق حل شود.
از توجه شما سپاسگزارم.
سلام. من زبان سی رو بلدم و شنیدم زبان سی پلاس پلاس رو راحت میشه یاد گرفت اگه سی رو بلد باشی. خواستم بدونم چقدر زمان میبره یادگیریش و کدوم یکی از اموزش های سایت فرادرس مناسبتره برای من؟
با سلام؛
از همراهی شما با مجله فرادرس سپاسگزارم. به طور کلی، هنگامی که افراد با مبانی و مفاهیم برنامهنویسی آشنایی داشته باشند، یادگیری زبانهای برنامهنویسی گوناگون برای آنها راحتتر است. زبان C++ یک زبان از خانواده زبانهای C و مشتق شده از این زبان است. تفاوت کلیدی C و ++C آن است که C یک زبان برنامهنویسی رویهای (Procedural Programming) است و از مفاهیم مربوط به شیگرایی شامل کلاسها و اشیا پشتیبانی نمیکند. در حالی که C++ از هر دو پارادایم برنامهنویسی رویهای و شیگرا پشتیبانی میکند. در واقع، C++ همان C است که از شیگرایی بهره میبرد. به مرور زمان، توسعهدهندگان C++ برای افزایش بهرهوری این زبان، قابلیت برنامهنویسی همگانی (Generic Programming) و پارادایم «برنامهنویسی تابعی» (Functional Programming) را نیز به آن اضافه کردند. ++C زبان مناسبی برای طراحی سیستمهای توکار، برنامهنویسی اینترنت اشیا و هر جا که پای سختافزار در میان باشد است. هر چند این زبان، به دلیل سرعت مناسبی که نسبت به برخی از دیگر زبانها دارد، از کاربردهای دیگری نیز بهره میبرد.
برای یادگیری زبان ++C میتوانید از آموزشهای زیر در فرادرس، استفاده کنید:
آموزش برنامهنویسی C++
آموزش پیشرفته C++ (شی گرایی در سی پلاس پلاس)
آموزش کتابخانه قالب استاندارد (STL) در ++C برای ساده نویسی برنامه ها
آموزش فریم ورک کیوت (Qt) برای توسعه نرم افزارها با ++C
پیروز، شاد و تندرست باشید.