یک Container ناهمگن حقیقی در C++

C++ از جمله‌ی زبان‌های Statically-Typed است؛ همین امر مسبب شده است که بر خلاف زبان‌هایی همچون Python امکان ذخیره مقادیری از چندین نوع داده‌ی مختلف در یک Container ممکن نباشد. در این مقاله به بررسی شیوه‌هایی برای دور‌زدن این محدودیت خواهیم پرداخت.

24 بهمن‌ماه 1396
محمد فرهمند

شاید برای شما هم این سوال پیش آمده باشد که

آیا می‌توان متغیرهایی با بیش از یک نوع داده را درون std::vector ذخیره کرد؟

جواب تغییر ناپذیر، رسمی و نهایی این سوال خیر است. C++ زبانی Statically-Typed است و Containerهای آن تنها می‌توانند مقادیری از یک نوع داده را ذخیره کنند. اما راه‌هایی برای دورزدن این محدودیت وجود دارد که در این مقاله به بررسی یکی از آن‌ها خواهیم پرداخت.

استفاده از فریم‌ورک Qt با CMake (در CLion)

IDE قدرت‌مند CLion از روش مستقیمی برای استفاده از فریم‌ورک Qt در آن بهره‌مند نیست زیرا با qmake همخوانی نداشته و از سیستم مدیریت Build متن‌باز CMake استفاده می‌کند. در این مقاله به شیوه افزودن Qt به CMake پروژه در CLion خواهیم پرداخت.

11 تیر‌ماه 1396
محمد فرهمند

فریم‌ورک Qt را می‌توان قدرتمند‌ترین و قدیمی‌ترین فریم‌ورک طراحی GUI با عمری بالغ بر 22 سال در زبان C++ دانست. CLion یکی از محصولات شرکت JetBrains و IDE برای زبان C/C++ بر پایه IntelliJ است که هر روزه بر محبوبیت آن افزوده می‌شود. با این وجود تاکنون هیچ افزونه‌ی رسمی‌ای برای استفاده از فریم‌ورک Qt در CLion وجود ندارد. CLion از سیستم Build موسوم به CMake استفاده می‌کند اما Qt از qmake برای Build پروژه بهره می‌گیرد. با این وجود امکان شبیه‌سازی qmake در CMake وجود دارد.

نوشتن یک Shell به زبان C

در دروس دانشگاهی، معمولا نخستین زبان برنامه‌نویسی که تدریس می‌شود زبان C بوده و یکی از تکالیف متداول این درس، طراحی محیطی برای درستور‌نویسی همچون ترمینال (که Shell نامیده می‌شود) است. در این مقاله به بررسی چگونگی پیاده‌سازی چنین نرم‌افزاری خواهیم پرداخت.

30 اردیبهشت‌ماه 1396
محمد فرهمند

محیط دستور نویسی POSIXـی یکی از محبوب‌ترین ابزار‌های سیستم‌عامل‌های خانواده Linux است. اگرچه این برنامه متشکل از ده‌ها هزار خط دستور است، ایده کلی پشت آن نسبتا ساده است. در این مقاله می‌خواهیم یک محیط دستور‌نویسی ساده را با زبان C پیاده کنیم.