تولید کننده آموزش و محصولات مبتنی بر برنامه نویسی مدرن

۳۸ مطلب با کلمه‌ی کلیدی «cpp» ثبت شده است

معرفی inja

inja یک تمپلیت انجین برای سی پلاس پلاس مدرن است.

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

  • متغیر‌ها
  • حلقه‌های تکرار
  • شروط
  • include
  • توابع
  • توابع سفارشی
  • کامنت

در ادامه برای هرکدام مثال آماده شده inja را می‌آوریم

ادامه مطلب...
۰۸ آبان ۹۸ ، ۱۳:۵۸ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

استفاده از ابزار مدلینگ UML در QtCreator

UML چیست ؟

آموزش UML از سایت تحلیل داده

برای آشنایی با UML میتوانید به لینک های بالا مراجعه کنید.

می توانید از ویرایشگر مدل برای ایجاد مدل های سبک جهانی مدل سازی (UML) با نمودارهای ساختاری و رفتاری استفاده کنید که دیدگاه های مختلفی از سیستم شما ارائه می دهد. با این حال ، ویرایشگر از نوع UML استفاده می کند و فقط زیر مجموعه ای از خواص برای مشخص کردن ظاهر عناصر مدل ارائه شده است.

QtCreator برای مدلسازی UML ابزاری توسعه داده که می‌توانید در لینک زیر با آن آشنا شوید.

لینک Modeling در QtCreator

 

با آرزوی موفقیت روز افزون در مسیر درست

۱۶ مهر ۹۸ ، ۰۰:۴۱ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

آموزش تنظیم تم برای برنامه Qt Widgets

برای اعمال تم روی برنامه‌های Qt Widget کافیست یک فایل qss تم را برنامه بخوانید و به عنوان استایلشیت برنامه تنظیم کنید
برای مثال:
 


برای نوشتن فایل استایل ( یا همان تم ) میتوانید از مستندات موجود در لینک‌های زیر استفاده کنید :
1. https://doc.qt.io/Qt-5/stylesheet-syntax.html
2. https://doc.qt.io/qt-5/stylesheet-reference.html

و در صورتی که میخواهید از فایل‌های آماده استفاده کنید کافیست در نت جستجو کنید تا به مثال های آماده برسید برای مثال در لینک زیر چندین تم موجود است که میتوانید استفاده کنید :
https://github.com/GTRONICK/QSS

در پناه حق

۲۷ تیر ۹۸ ، ۰۰:۲۱ ۷ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

جزوه آموزش CMake

با سلام

دوستان آموزش CMake رو در یک جزوه آموزشی براتون آماده کردم که میتونید استفاده کنید قبلا قولش رو داده بودم ولی واقعا وقت نمی‌کردم الان هم توی شرکت آماده کردم و شرکت اجازه داد بیرون هم منتشر کنم.

دانلود

 

۱۹ تیر ۹۸ ، ۲۱:۱۱ ۲ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

پرسشگران بی پاسخ

یه پیشنهاد کوچیک
حتما دیدید کسانی رو که مدام دنبال این هستند که چرا این زبان بهتره و باید کار بکنند و ...
مهم هم نیست چه زبانی باشه اونها همیشه دنبال جواب این سوالند توی مدتی که من توی حوزه برنامه نویسی مشغولم سعی کردم با روش های مختلف جواب بدم بعضی وقتا باهاشون مخالفت می‌کردم و دلایل خودم برای بهتر بودن سی پلاس پلاس رو می‌گفتم.
بعضی وقتا براشون توضیح می‌دادم که برای هر کاری توی هر حوزه‌ای که وارد می‌شید ممکنه یک زبان برتری داشته باشه با توجه به سطح کار و مدت پروژه و نیروی در اختیار برای کار و ...
بعضی وقتا باهاشون موافقت می‌کردم و میگفتم اونی که شما می‌گید درسته ولی الان میفهمم اشتباه می‌کردم نه برای این که می‌گفتم سی پلاس پلاس بهتره یا این که می‌گفتم هر حوزه زبان خودش رو میطلبه با توجه به فاکتور های بالا و حتی نه برای موافقت باهاشون بلکه ...
به داستان زیر گوش بدید :
خر و گرگ سر یه موضوع دعواشون شد و حق با گرگ بود ولی خر قانع نمی‌شد رفتند پیش شیر که ریش سفیدی کنه و مشکلشون رو حل کنه شیر تا شنید خر و گرگ دارند بحث می‌کنند گفت گرگ مقصره گرگ وا رفت و به شیر گفت : چرا ؟

شیر گفت : چون با خر بحث میکنی و توقع داری بفهمه


خلاصه می‌شناسم کسانی رو که تمام مدتی که من مشغول برنامه‌نویسی بودم مشغول این بودند که ببینند کدوم زبان بهتره و البته بعضیهاشون هنوزم دنبال جواب سوالشونند و شروع نکردند کار رو ...
ببینید همیشه به توازنی بین بحث کردن و بحث نکردن برقرار کنید بعضی وقتا انجام کار به چند روش هزینه میبره خب باید با دلایل منطقی بحث کرد اما بعضی وقتا بجای بحث میشه کار رو انجام داد و اجازه داد نتیجه حرف بزنه یا حتی توی موقعیت های دیگه که قطعا خودتون متوجه شدید که بحث کردن فقط داره شما رو از هدف دور میکنه و نمیذاره کار پیش بره پس شاید بهتره خیلی وقتا بحث رو کنار بذاریم و دست به کد بشیم.
البته الان در حال بحث با کسی نبودم برداشت شخصی نکنید چون من خیلی وقتا وقتی با کسی بحث میکنم پست میزنم که جواب اونو بدم ولی الان واقعا با کسی در حال بحث نبودم یه ایمیل از کوئرا برام اومد که یکی باز در مورد این که چرا باید سی پلاس پلاس کار کنه سوال کرده بود بعد یاد رفقایی افتادم که بعد از 4 سال سوال کردن الان مشغول سایت زدن با ASP هستند 😄
موفق باشید.

۰۱ ارديبهشت ۹۸ ، ۱۴:۵۳ ۲ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

بحثی در مورد یک لاگر گرافیکی خوب در کیوت با رعایت اصول معماری

باسلام

اگر پروژه‌های بزرگی تحت دسکتاپ نوشته باشید که لایه های زیادی داشته باشند و توی لایه های مختلف پردازش داشته باشید یا به هر دلیل دیگه‌ای نیاز به نشان دادن لاگ به کاربر باشید براتون پیش اومده که نیاز به یک لاگر پیدا کنید.

ادامه مطلب...
۲۳ فروردين ۹۸ ، ۱۷:۵۴ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

معرفی کتابخانه Serio

کتابخانه Serio  یک کتابخانه برای serialization در سی پلاس پلاس است که از کانتینرهای سی پلاس پلاس و دیگر تایپ‌ها و همچنین کلاس‌ها و استراکت‌ها پشتیبانی می‌کند و در مقایسه با کتابخانه libnop گوگل هم از سرعت بیشتری برخوردار است و هم پشتیبانی تایپ‌های بیشتری انجام می‌دهد.

لینک گیتهاب کتابخانه Serio

۰۷ فروردين ۹۸ ، ۱۹:۳۳ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

انواع معماری اتصالات سیگنال و اسلات در کیوت بین c++ و qml

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

 

ادامه مطلب...
۰۶ آبان ۹۷ ، ۰۱:۰۶ ۴ نظر موافقین ۱ مخالفین ۰
بهنام صباغی

دانلود نسخه افلاین سی پلاس پلاس ویژوال استدیو (2 و خورده ای گیگ)

با سلام

همانطور که اطلاع دارید نسخه 2017 ویژوال استدیو با توجه به ابزار های بی‌کاربرد و کم کاربردی مانند ابزار های برنامه نویسی زبان‌های شارپ دار مانند F# و B# و c# و ... حجم بسیار بالایی دارد که دانلود و نصب آن را به شدت سخت کرده .

اما راهی وجود دارد که توسط یکی از دوستان به بنده معرفی شد و میتوان با این راه یک نسخه سبک و کم حجم و صد البته افلاین و قابل نصب بر روی سیستم با حجم دو گیگ و اندی دانلود کرد :

 

برای دانلود فایل و اطلاعات بیشتر میتوانید به لینک زیر از سایت رسمی خود ویژوال استدیو مراجعه کنید :

Create an offline installation of Visual Studio 2017

موفق باشید.

۰۴ مهر ۹۷ ، ۲۲:۱۰ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی

هزار و یک نکته در سی پلاس پلاس نکته سوم (کلمه کلیدی noreturn)

کلمه کلیدی noreturn برای مشخص کردن این نکته که تابع مقداری به صدا زننده باز نمیگرداند استفاده می‌شود. دقت کنید باز نگرداندن مقدار با برگرداندن مقدار void تفاوت دارد. این کلمه کلیدی برای توابعی که هیچ مقداری به صدا زننده فراخوانی نمی‌کنند استفاده می‌شود. ( مانند توابعی که برنامه را می‌بندند یا توابعی که حاوی حلقه بینهایت هستند یا توابعی که throw exceptions می‌کنند.

استفاده از این کلمه کلیدی به کامپایلر کمک می‌کند تا بهینه‌سازی هایی را انجام دهد و همینطور هشدارهای بهتری تولید کند.برای مثال اگر تابع f مقداری بازگشت ندهد و از کلمه کلیدی noreturn استفاده کنید کامپایلر میتواند در کد

f();

g();

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

مثال استفاده :

 

۰۹ شهریور ۹۷ ، ۱۲:۰۳ ۰ نظر موافقین ۰ مخالفین ۰
بهنام صباغی