بایگانی بلاگ

فایل‌ها و استریم‌ها در ++C

فایل‌ها و استریم‌ها در ++C

تا اینجا از کتابخانه‌ی استاندارد iostream استفاده می‌کردیم، که متدهای cin و cout را به ترتیب برای خواندن از ورودی استاندارد و نوشتن در خروجی استاندارد به کار می‌برد. این آموزش به شما نحوه خواندن و نوشتن در فایل‌ها را نشان خواهد داد. برای اینکار به یک کتابخانه استاندارد از …

ادامه نوشته »

مدیریت استثناها در ++C یا Exception Handling

مدیریت استثناها در ++C یا Exception Handling

در این جلسه به بررسی مدیریت استثناها در ++C یا Exception Handling می‌پردازیم. یک استثنا حالتی غیرطبیعی است که ممکن است در حین اجرای یک برنامه رخ دهد. یک استثنا در ++C پاسخی است که برای یک وضعیت ویژه پیش آمده حین اجرای برنامه ، مانند تقسیم بر صفر، تدارک …

ادامه نوشته »

حافظه پویا در ++C

حافظه پویا در ++C

درک مناسب از نحوه عملکرد حافظه پویا (داینامیک) کمک شایانی به برنامه نویسان ++C خواهد کرد. حافظه در برنامه ++C به دو بخش تقسیم خواهد شد. Stack: همه متغیرهای تعریف شده درون تابع در حافظه stack ذخیره خواهند شد. Heap: این بخش، حافظه استفاده نشده برنامه است و می‌توان در …

ادامه نوشته »

فضای نام یا Namespace در ++C

فضای نام یا Namespace در ++C

وضعیتی را تصور کنید که دو فرد با اسم مشابه یعنی Zara، در یک کلاس داریم. اگر بخواهیم بین آنها تفاوت روشنی به وجود بیاوریم، مجبور خواهیم بود که علاوه بر نام آنها از اطلاعات اضافی مانند محل سکونت – اگر در جاهای متفاوتی از هم زندگی می‌کنند – و …

ادامه نوشته »

الگوها یا Templates در ++C

الگوها یا Templates در ++C

در این جلسه به بررسی الگوها یا Templates در ++C خواهیم پرداخت. الگوها پایه و اساس برنامه‌نویسی جنریک (generic) می‌باشند. در این برنامه‌نویسی، کد به روشی نوشته می‌شود که به هیچ نوع داده  خاصی وابسته نباشد. یک الگو طرح یا فرمولی برای ساختن یک کلاس یا تابع جنریک است. کانتینرهای …

ادامه نوشته »

پیش‌پردازنده‌ها یا Preprocessor در ++C

پیش پردازنده‌ها یا Preprocessor در ++C

پیش پردازنده‌ها دستوراتی هستند که به کامپایلر اعلام خواهند کرد که اطلاعات را پیش از آغاز عملیات کامپایل، چگونه پیش پردازش کنند. همه دستورات پیش‌پردازنده با # آغاز می‌شوند. در هر خط، قبل از دستور پیش پردازنده  فقط استفاده از کارکترهای فضای خالی مجاز است. دستورات پیش‌پردازنده دستورات ++C به …

ادامه نوشته »

مدیریت سیگنال‌ها در ++C

مدیریت سیگنال‌ها در ++C

سیگنال‌ها وقفه‌هایی (interrupt) هستند که از جانب سیستم عامل به یک پروسس (process) تحویل داده می‌شوند و می‌توانند یک برنامه را به صورت دائمی‌ پایان دهند. می‌توان با فشردن کلید Ctrl+C در لینوکس، یونیکس، Mac OS X یا ویندوز یک وقفه ایجاد کرد. سیگنال‌هایی وجود دارند که یک برنامه نمی‌تواند …

ادامه نوشته »

چند نخی یا Multithreading در ++C

چند نخی یا Multithreading در ++C

چند نخی شکل ویژه‌ای از چند وظیفه‌ای (multitasking) است. چند وظیفه‌ای خاصیتی است که به کامپیوتر این امکان را می‌دهد تا دو یا چند برنامه را به طور همزمان اجرا کند. در حالت کلی، دو نوع چند وظیفه‌ای وجود دارد: مبتنی بر پروسس‌ (process-based) و مبتنی بر نخ (thread-based). چند …

ادامه نوشته »

برنامه‌نویسی وب در ++C

برنامه‌نویسی وب در ++C

CGI چیست؟ رابط دروازه مشترک (Common Gate interface) یا CGI، مجموعه‌ای از استانداردها می‌باشد که چگونگی ردوبدل کردن اطلاعات بین سرور و یک اسکریپت دلخواه را تعریف می‌کند. مشخصات فعلی CGI توسط NCSA نگه‌داری می‌شود.CGI ،NCSA را به صورت زیر تعریف می‌کند. رابط دروازه مشترک، استانداردی برای دروازه خروجی برنامه …

ادامه نوشته »

توابع درون خطی در ++C

توابع درون خطی در ++C

تابع درون خطی (Inline) در ++C مفهومی قدرتمند است که معمولاً همراه با کلاس‌ها به کار می رود. اگر یک تابع درون خطی باشد، کامپایلر در زمان کامپایل،  یک کپی از کد تابع را در نقطه‌ی فراخوانی آن قرار می‌دهد. هر گونه تغییر در یک تابع درون خطی نیازمند کامپایل …

ادامه نوشته »

اشاره‌گر this در ++C

اشاره‌گر this در ++C

در این جلسه به بررسی اشاره‌گر this در ++C میپردازیم. هر شی در ++C از طریق یک اشاره‌گر مهم به نام this، به آدرس خودش دسترسی دارد. اشاره‌گر this یک پارامتر ضمنی برای همه توابع عضو شی می‌باشد. بنابراین، درون یک تابع عضو، از this برای اشاره  به شی می‌توان …

ادامه نوشته »