C++ Get Started
شروع کار: آمادهسازیِ میدانِ نبرد 🛠️💻
برای شروع کدنویسی با C++، شما به دو ابزار اصلی نیاز دارید: یک ویرایشگر متن (Text Editor) و یک کامپایلر (Compiler).
۱. انتخاب IDE یا ویرایشگر
- VS Code: انتخابی مدرن و سبک با افزونههای عالی برای C++.
- Visual Studio: سنگینترین و قدرتمندترین IDE برای ویندوز (استانداردِ صنعت).
- CLion: محصول بینظیر JetBrains برای حرفهایها.
- Code::Blocks: محیطی ساده و کلاسیک برای شروع.
۲. نصبِ کامپایلر
کامپایلر وظیفه دارد کدهای شما را به فایل قابل اجرا (.exe یا باینری) تبدیل کند:
- GCC (g++): استانداردِ دنیای لینوکس و مک.
- Clang: کامپایلری فوقالعاده سریع با پیامهای خطای خواناتر.
- MSVC: کامپایلر مایکروسافت.
دستور کامپایل در ترمینال (لینوکس/مک):
{code_block('g++ hello.cpp -o hello\n./hello', 'bash')}این دستور فایل hello.cpp را به یک فایل اجرایی به نام hello تبدیل میکند.
godbolt.org یا onlinegdb.com استفاده کنید.
بخش تخصصی: مهندسی و معماری C++ 🚀⚙️⚡
زبان C++ فقط یک نسخه ارتقا یافته از C نیست؛ بلکه یک هیولای چندوجهی است که قدرت سختافزاری C را با انتزاعهای سطح بالای مدرن ترکیب میکند.
۱. فضای نام (Namespace): خروج از بحران تداخل نامها
در زبان C، اگر دو کتابخانه تابعی با نام print() داشتند، شما دچار مشکل بزرگی میشدید. در C++ مفتی به نام Namespace معرفی شد. تمام توابع استاندارد در فضای نام std قرار دارند. این به این معناست که std::cout یعنی از شیء cout که در "قلمرو" استاندارد است استفاده کن.
۲. معماری I/O و امنیت نوع (Type Safety)
در C ما از printf استفاده میکردیم که یک تابع Variadic است و خطرات امنیتی زیادی دارد. اما در C++ ما از Streams استفاده میکنیم. عملگر << (Insertion Operator) هوشمند است؛ یعنی خودش میفهمد شما دارید یک عدد میفرستید یا یک متن، بدون اینکه نیاز به %d یا %s باشد.
۳. خط لوله کامپایل (The C++ Compilation Pipeline)
وقتی دکمه Run را میزنید، C++ مراحل پیچیدهای را طی میکند:
- Preprocessor: هدرها (مثل iostream) را کپی میکند.
- Compiler: کد را به اسمبلی تبدیل میکند. در اینجا C++ از تکنیکی به نام Name Mangling استفاده میکند تا سربارگذاری توابع (Overloading) ممکن شود.
- Linker: کدهای شما را به کتابخانههای سیستم متصل میکند تا فایل اجرایی نهایی ساخته شود.
std::endl علاوه بر شکستن خط، بافر را هم خالی (Flush) میکند. اگر سرعت بسیار بالا نیاز دارید، از \n استفاده کنید تا سیستمعامل هر بار مجبور به تخلیه بافر نشود.
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
برنامهای بنویسید که در خروجی عبارت Hello, C++ World! را چاپ کند. حتماً از هدرهای لازم استفاده کنید.
#include <iostream>
int main() {
std::cout << "Hello, C++ World!";
return 0;
}
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.