ModernCpp.ir
255 subscribers
685 photos
42 videos
13 files
914 links
site : moderncpp.ir
Mail : info@moderncpp.ir
Admin: @FONQRI
C++ tutorials and ...
Download Telegram
یکی از دوستان پرسید
ClassName() = default;

چکار میکنه ؟
در جواب این لینک رو فرستادم تا مطالعه کنند
https://en.cppreference.com/w/cpp/language/default_constructor

و این توضیحات رو هم میدم که ه ایشون هم بقیه دوستان استفاده کنند :
ببینید توی کد توی کد زیر من یه کلاس تعریف کردم با یک تابع ویرچوال

class TestDefault
{
public:
virtual void myInterfaceFunction() = 0;
};

class A : public TestDefault
{

public:
void myInterfaceFunction();
};


ولی انالیزر کلنگ داره بهم وارنینگ semantic issue میده که این کلاس تابع ویرچوال داره ولی دیستراکتورش ویرچوال نیست

میتونید چرایی این وارنینگ رو توی پست زیر از استک اور فلو ببینید :
https://stackoverflow.com/questions/10024796/c-virtual-functions-but-no-virtual-destructors


توی عکس بعدی وقتی تایع کانستراکتور ویرچوال رو تعریف می‌کنم موقع کامپایل بهم ارور میده میگه
 undefined reference to `vtable for A'

این که این ارور چی هست رو میذارم به عهده خودتون ولی در کل بدنه تابع رو نمیتونه پیدا کنه یک راه برطرف کردنش همونی هست که توی پست بالا گفته یعنی بیای یه بدنه براش در سی پی پی تعریف کنی که یک کار غیر منطقی به نظر میاد که بری توی یک فایل سی پی پی یه تابع خالی تعریف کنی (تازه شاید کلا سی پی پی نداشته باشی ) و تعریف توابع توی هدر هم کار درستی نیست اینم دلیلش رو به خودتون واگذار میکنم پس بهترین راه اینه که تابع دیستراکتور کلاس رو مساوی default بذاریم تا خود کامپایلر برامون هندلش کنه
اینطوری دیگه نه وارنینگی هست نه اروری که این نشون میده کدمون درست و اصولی هست
Channel Link : https://t.me/moderncpp_ir
سال وقتی مبارک میشه که براش برنامه داشته باشی و تلاش کنی
Channel Link : https://t.me/moderncpp_ir
#serialization #cpp #library

کتابخانه Serio یک کتابخانه برای serialization در سی پلاس پلاس است که از کانتینرهای سی پلاس پلاس و دیگر تایپ‌ها و همچنین کلاس‌ها و استراکت‌ها پشتیبانی می‌کند و در مقایسه با کتابخانه libnop گوگل هم از سرعت بیشتری برخوردار است و هم پشتیبانی تایپ‌های بیشتری انجام می‌دهد.
Source Link : https://github.com/ShahriarSS/Serio
Post Link : http://moderncpp.ir/post/128
Channel Link : https://t.me/moderncpp_ir
ModernCpp.ir
#nosql #architect #mongodb #database MongoDB Architects Hub Link : https://resources.mongodb.com/mongodb-architects Channel Link : https://t.me/moderncpp_ir
این لینک مقالات سایت مونگو هست در مورد معماری هست
من یک نگاه کلی کردم یکی دو ا مقالش رو هم دقیق نگاه کردم واقعا موضوعات جالبی رو پوشش داده حتما سعی کنید مطالعه کنید.
مثلا در مورد مشکلاتی که توی توزیع پذیری دیتابیس پیش میاد و روش‌هایی که برای حل اونها وجود داره و ...
چند وقتیه دارم کتاب
https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/

رو میخونم واقعا خیلی قشنگ از صفر داره بهم دید میده در مورد دیتا و روند کاری دیتا توی سیستم‌هایی که data-intensive هستند واقعا الان که دارم میخونمش درک میکنم که در این حد عمیق دید داشتن کارکرد سیستم‌های دیتابیس و جریان داده توی برنامه و هندل کردن توزیع شدگی و ... خیلی بهم کمک میکنه
البته بحث هایی که میکنه رو تا به اینجا مثلا توی mongodb نگاه کردم همه رو هندل کرده ولی برای هرکدوم اپشن داره که میتونی ازش استفاده کنی در واقع دید داشتن و دونستن این موضوعات و این که چه روش های حلی هست کمک میکنه که وقتی راه حلی اراعه شده بتونید درکش کنید و به بهترین نحو ازش استفاده کنید در صورتی که اگر دید نداشته باشید به مشکل اصلا ممکنه ندونید اپشنی برای حل این مشکل هست و به این مشکل بخورد کنید. به نظرم برای هرکس میخواد توی دیتا عمیق بشه و درک کنه سیستم‌های data-intensive رو لازمه این کتاب رو مطالعه کنه البته ممکنه توی کتابهای دیگه هم پوشش داده شده باشه ولی این کتاب تا اینجاش که اواخر فصل 5 هستم رو خوندم و موضوعات فصول بعدی رو هم آشنایی دارم میتونم بگم به حد کفایت توی مسائل ریز شده و خیلی عالیه
هم زمان دارم با خوندن کتاب یک سری نکته برداری میکنم البته این نکات تمام نکات کتاب نیست و احتمالا کسانی که کتاب رو نخوندند ببینند ممکنه چیزی زیاد متوجه نشند ولی تموم بشه کتاب ان شاء الله منتشر میکنم اگر دوست داشتید یه نگاه گذرا داشته باشید با یک سری کلمات کلیدی که توی این ضمینه ها هست آشنا بشید در آینده اگر به چشمتون خورد بدونید میتونید برای درک این موضوعات به این کتاب مراجعه کنید.
Channel Link : https://t.me/moderncpp_ir