Learning ©
4.65K subscribers
81 photos
2 videos
38 files
182 links
ک
Download Telegram
#cmap #map.h #map
🔵مپ(map)

🔹کتابخانه map

⚠️ادامه پست قبلی
t.me/Learncpp/1777

🔹انواع عضو

1️⃣ اولین پارامتر الگو(Key)
Key_type
2️⃣ دومین پارامتر الگو(T)
mapped_type

3️⃣ سومین نوع عضو(value_type)
pair<const key_type,mapped_type>

4️⃣ سومین پارامتر الگو(Compare)
key_compare

◀️ یادداشت:
پیش فرض برای:

less<key_type>

5️⃣ کلاس تابع تو در تو برای مقایسه کردن
value_compare

◀️ یادداشت:
مشاهده کنید:
value_comp

6️⃣ چهارمین پارامتر الگو(Alloc)
allocator_type

◀️ یادداشت:
پیش فرض برای:
allocator<value_type>

7️⃣ هفتمین نوع عضو(refrence)
allocator_type::refence

◀️ یادداشت:
برای اختصاص دهنده پیش فرض:
const value_type&

8️⃣ هشتمین نوع عضو(const_refrence)
allocator_type::const_reference

◀️ یادداشت:
برای اختصاص دهنده پیش فرض:
const value_type&

9️⃣ نهمین نوع عضو(pointer)
allocator_type::pointer

◀️ یادداشت:
برای اختصاص دهنده پیش فرض:
value_type*

🔟 دهمین نوع عضو(const_pointer)
allocator_type::const_pointer

◀️ یادداشت:
برای اختصاص دهنده پیش فرض:
const_value_type*

1️⃣1️⃣ یازدهمین نوع عضو(iterator)
یک iterator دو طرفه برای
value_type

◀️ یادداشت:
قابل تبدیل به const_iterator

2️⃣1️⃣ دوازدهمین نوع عضو(const_iterator) یک iterator دو طرفه برای const value_type

3️⃣1️⃣ سیزدهمین نوع عضو(reserve_iterator)
reverse_iterator<iterator>

4️⃣1️⃣ چهاردهمین نوع عضو
(const_reserve_iterator) reverse_iterator<const_iterator>

5️⃣1️⃣ پانزدهمین نوع عضو(diffrent_type) یک نوع جدایی ناپذیر علامت دار همانند:
iterator_traits<iterator>::difference_type

◀️ یادداشت:
معمولا مشابه ptrdiff_t

6️⃣1️⃣ شانزدهمین عضو(size_type)
یک نوع جدایی ناپذیر بدون علامت که می تواند هر مقدار غیر منفی از difference_type را نمایش دهد.

◀️ یادداشت:
معمولا مشابه size_t

🔰ترجمه شده از سایت
www.cplusplus.com

@Learncpp
#cmap #map.h #map
#member_type
🔵مپ(map)

🔹کتابخانه map

🔹انواع عضو
t.me/Learncpp/1778

@Learncpp
#cmap #map.h #map
🔵مَپ(map)

🔹کتابخانه map

🔹انواع عضو
t.me/Learncpp/1778

@Learncpp
#cmap #map.h #map
🔵مَپ(map)

🔹کتابخانه map

t.me/learncpp/1778

🔹توابع عضو

🔻تابع constructor
ساخت نقشه (تابع عضو عمومی)

🔻تابع destructor
ویرانگر نقشه (تابع عضو عمومی)

🔻تابع operator
کپی کردن محتوای ظرف (تابع عضو عمومی)



🔹تکرارشونده ها (iterators)

🔻beginتابع
بازگشت iretator به ابتدا (تابع عضو عمومی)

🔻end تابع
بازگشت iretator به انتها (تابع عضو عمومی)

🔻rbegin تابع
بازگشت reverse iretator به ابتدای معکوس (تابع عضو عمومی)

🔻rend تابع
بازگشت reverse iretator به انتهای معکوس (تابع عضو عمومی)

🔻cbegin تابع
بازگشت const_reverse_iterator به ابتدا (تابع عضو عمومی)

🔻cend تابع
بازگشت const_reverse_iterator به انتها (تابع عضو عمومی)

🔻crbegin تابع
بازگشت const_reverse_iterator به ابتدا معکوس(تابع عضو عمومی)

🔻crend تابع
بازگشت const_reverse_iterator به انتهای معکوس(تابع عضوعمومی)

🔰ترجمه شده از سایت
www.cplusplus.com

@Learncpp
#cmap #map.h #map
#member_function
🔵مَپ(map)

🔹کتابخانه map

🔹توابع عضو

🔸ترجمه مطالب
t.me/Learncpp/1868

@Learncpp
#cmap #map.h #map
#iterators
🔵مَپ(map)

🔹کتابخانه map

🔹انواع تکرار شونده ها

🔸ترجمه مطالب
t.me/Learncpp/1868

@Learncpp
#cmap #map.h #map
🔵مَپ(map)

🔹کتابخانه map

🔹ظرفیت (capacity)

🔻تابع empty
تست کردن ظرف اگر خالی باشد (تابع عضو عمومی)

🔻تابع size
برگرداندن اندازه ظرف (تابع عضو عمومی)

🔻تابع max_size
برگرداندن بیشترین اندازه (تابع عضو عمومی)



🔹عناصردسترسی
(Element access)

🔻operator[ ]
عنصر دسترسی (تابع عضو عمومی)

🔻at
عنصر دسترسی (تابع عضو عمومی)


🔰ترجمه شده از سایت
www.cplusplus.com

@Learncpp
#cmap #map.h #map
#capacity
🔵مَپ(map)

🔹کتابخانه map

🔹توابع ظرفیت

🔸 ترجمه مطالب
t.me/Learncpp/2056

@Learncpp
#cmap #map.h #map
#element_access
🔵مَپ(map)

🔹کتابخانه map

🔹عناصر دسترسی

🔸 ترجمه مطالب
t.me/Learncpp/2056

@Learncpp
#cmap #map.h #map
🔵مَپ(map)

⚠️ادامه پست قبلی
t.me/Learncpp/2056
🔹کتابخانه map

🔹تعدیل کننده ها (Modifiers)

🔻insert
وارد کردن عناصر (تابع عضو عمومی)

🔻erase
پاک کردن عناصر (تابع عضو عمومی)

🔻swap
عوض کردن محتوا (تابع عضو عمومی)

🔻clear
پاک کردن محتوا (تابع عضو عمومی)

🔻emplace
ساختن و وارد کردن عنصر (تابع عضو عمومی)

🔻emplace_hint
ساختن و وارد کردن عنصر همراه با راهنما(تابع عضو عمومی)


🔹Observers

🔻key_comp
بازگشت شیء مقایسه کلید (تابع عضو عمومی)

🔻value_comp
بازگشت مقدار مقایسه کلید (تابع عضو عمومی)

⚠️ادامه درپست بعدی

🔰ترجمه شده از سایت
www.cplusplus.com

@Learncpp
#cmap #map.h #map
#modifiers
🔵مَپ(map)

🔹کتابخانه map

🔹تعدیل کننده ها

@Learncpp
#cmap #map.h #map
#observs
🔵مَپ(map)

🔹کتابخانه map

@Learncpp
#cmap #map.h #map
🔵مَپ(map)

🔹کتابخانه map

⚠️ادامه پست قبلی

🔹عملگر ها (Operations)

🔻عملگر find
بدست آورن iterator برای عنصر (تابع عضو عمومی)

🔻عملگر count
شمردن عناصر با یک کلید مشخص (تابع عضو عمومی)

🔻عملگر‌ lower_bound
بازگرداندن iterator به مرز پایین(تابع عضو عمومی)

🔻عملگر upper_bound
بازگرداندن iterator به مرز بالا(تابع عضو عمومی)

🔻عملگر equal_range
بدست آوردن محدوده عناصر مساوی (تابع عضو عمومی)

🔹تخصیص دهنده (Allocator)

🔻تخصیص دهنده get_allocator
گرفتن تخصیص دهنده (تابع عضو عمومی)

🔰ترجمه شده از سایت
www.cplusplus.com

@Learncpp
#cmap #map.h #map
#operation
🔵مَپ(map)

🔹کتابخانه map

🔹عملگر ها

@Learncpp
#cmap #map.h #map
#allocator
🔵مَپ(map)

🔹کتابخانه map

🔹تخصیص دهنده

@Learncpp
جهت دریافت لینک گروه سی پلاس پلاس و ساختمان داده:
@Qtcplusplus

📚 فهرست آموزش های کانال

📓 جلسه اول (مقدمات زبان ++C)
telegram.me/Learncpp/534
📘 جلسه دوم (ساختارهای تکرار و تصمیم گیری)
telegram.me/Learncpp/535
📗 جلسه سوم (آرایه ها)
telegram.me/Learncpp/536
📙 جلسه چهارم (توابع)
telegram.me/Learncpp/537
📒 جلسه پنجم (اشاره گرها)
در حال آموزش...
telegram.me/Learncpp/2319
📽 فیلم های آموزشی
telegram.me/Learncpp/538
💻 نرم افزار های مرتبط
telegram.me/Learncpp/540
🙇🏻 دانستنی ها
telegram.me/Learncpp/539
🌐 کامپایلر، IDE، کتاب برنامه نویسی و...
telegram.me/Learncpp/362


🌍 ترجمه کتابخانه ها از سایت مرجع برنامه نویسان ++C
www.cplusplus.com

🔹وکتور (vector)
telegram.me/Learncpp/1029

🔹رشته ها (string)
telegram.me/Learncpp/1030

🔹عملیات ورودی/خروجی (cstdio)
telegram.me/Learncpp/1194

🔹زمان (time)
telegram.me/Learncpp/1414

🔹سیگنال (signal)
telegram.me/Learncpp/1672

🔹مپ (map)
telegram.me/Learncpp/2319

🔸کتابخانه بعدی درحال ترجمه است


⛔️ از آنجا که مطالب کانال از جایی کپی پیست و دزدیده نمی شوند همچنین یکی از اهداف اصلی کانال پوشش دادن ریز به ریز و کامل مطالب است تا خواننده درک درست و کاملی از آموزش ها داشته باشد، به همین خاطر ابتدا تمامیه مطالب درون word تایپ سپس پس از تکمیل به صورت رایگان داخل کانال قرار می گیرند، پس به دلیل جمع آوری مطالب ممکن است مدت زمانی درون کانال آموزشی قرار نگیرد به همین دلیل "لطفا صبر پیشه کنید"...

🎁 دوستانی که مشتاق به ترجمه کتابخانه های سی پلاس پلاس‌ از سایت رسمی Cplusplus.com هستند یا تمایل به آموزش موضوعات مرتبط با سی پلاس را دارند (به صورت رایگان) به آیدی @QtCplusplus پیام بدن تا هماهنگی های لازم انجام شده و در انتها زحمات افراد همراه مشخصاتشان برای عموم داخل کانال @Learncpp منتشر شود🌹


❤️ تبلیغات ارزانتر == شاد کردن قلب بچه های سرطانی😊🌹

💝 @cancerchilds

آموزش تخصصی ©
🌈 @Learncpp
🎀 اشاره گرها (Pointer) چیست ؟

@Learncpp
#pointer #اشاره_گر
🔵 نحوه‌ی ذخیره‌سازی اطلاعات در حافظه

یک سیم را در نظر بگیرید، برای این سیم دو حالت بیش‌تر وجود ندارد:
0⃣ جریان برق از آن عبور نمی‌کند.
1️⃣جریان برق از آن عبور می‌کند.

از آن‌جایی که کامپیوترها با برق کار می‌کنند تنها راه ارتباط با آن‌ها از همین طریق است؛ یعنی یا صفر یا یک، که به آن «مبنای دو» یا «باینری» (Binary) نیز می‌گویند.

🔹بیت (bit)
کوچک‌ترین واحد ذخیره‌سازی اطلاعات در کامپیوتر، بیت است؛ مقدار ذخیره شده در هر بیت می‌تواند "صفر" یا "یک" باشد.

🔹بایت (Byte)
هر بایت شامل 8 بیت می‌باشد؛ به این ترتیب کوچک‌ترین عدد ذخیره شده در یک بایت صفر است که معادل باینری آن 00000000 می‌باشد و بزرگ‌ترین عدد ذخیره شده در یک بایت 255 است که معادل باینری آن 11111111 می‌باشد. بنابراین هر بایت می‌تواند 256 عدد (از صفر تا 255) را در خود ذخیره کند.

🔹حافظه (Memory)
برای ذخیره‌سازی اطلاعات در کامپیوتر از یک سخت‌افزار (Hardware) به نام حافظه کمک می‌گیریم. حافظه انواع مختلفی دارد از جمله:
حافظه‌ی فقط خواندنی (ROM)
حافظه‌ی تصادفی (RAM)
حافظه‌ی خارجی (External Storage)

حافظه از تعداد زیادی «خانه» تشکیل شده است که هر کدام از آن‌ها نماینده‌ی یک بایت یا 8 بیت می‌باشند. برای متمایز کردن این خانه‌ها از یکدیگر به هر کدام از آن‌ها یک «آدرس» تخصیص داده می‌شود. با در اختیار داشتن آدرس یک خانه از حافظه می‌توان مقدار ذخیره شده در آن را تغییر داد.

شکل کُلی خانه‌های حافظه را می‌توانید در پُست t.me/Learncpp/2321 مشاهده کنید.

@Learncpp
#pointer #اشاره_گر
شکل کُلی خانه‌های حافظه
@Learncpp
#pointer #اشاره_گر
🔵 جدول کُدهای ASCII

همان‌طور که پیش‌تر اشاره شد "هر بایت می‌تواند 256 عدد (از صفر تا 255) را در خود ذخیره کند"، بنابراین می‌توان 256 کاراکتر مختلف را در یک بایت ذخیره کرد. به صورت قرار دادی جدولی به نام "جدول کُدهای ASCII" برای این کار ساخته شد؛ در این جدول هر کاراکتر با یک عدد منحصر به فرد از صفر تا 255 متناظر شده است.

جدول کامل کُدهای ASCII را می‌توانید در سایت ascii-code.com مشاهده کنید.

@Learncpp
#pointer #اشاره_گر
🔵 انواع متغیرها

علاوه بر بیت و بایت متغیرهای دیگری نیز برای ذخیره‌سازی اطلاعات وجود دارند؛ البته نحوه‌ی ذخیره‌سازی مقادیر در تمام آن‌ها یکسان است اما در پاره‌ای موارد از جمله "مقدار حافظه‌ی اشغال شده" و "نحوه‌ی مقدار دهی" با یکدیگر متفاوت هستند.
در این‌جا به بیان مشخصات چند نوع مهم از متغیرها می‌پردازیم.

🔹عدد صحیح (int)
🔻حافظه‌ی اشغال شده
4
بایت معادل 32 بیت

🔻کوچک
‌ترین عدد ذخیره شده
-2,147,483,648

🔻بزرگ ‌ترین عدد ذخیره شده
+2,147,483,647

🔺چون عدد صفر جزءِ اعداد مثبت در نظر گرفته شده است، تعداد اعداد مثبت یک واحد کمتر از تعداد اعداد منفی است.

🔹عدد اعشاری با دقت کم (float)
🔻حافظه‌ی اشغال شده
4
بایت معادل 32 بیت

🔻کوچک
‌ترین عدد ذخیره شده
1.175494351 E – 38

🔻بزرگ ‌ترین عدد ذخیره شده
3.402
823466 E + 38

🔹عدد اعشاری با دقت زیاد (double)
🔻حافظه‌ی اشغال شده
8
بایت معادل 64 بیت

🔻کوچک‌ ترین عدد ذخیره شده
2.225073
8585072014 E – 308

🔻بزرگ‌ ترین عدد ذخیره شده
1.797693
1348623158 E + 308

🔺هر دو نوعِ float و double برای ذخیره ‌سازی اعداد اعشاری به کار می‌روند با این تفاوت که نوعِ double امکانِ ذخیره‌سازیِ تعدادِ ارقامِ اعشاریِ بیش‌ تری را فراهم می‌کند.

🔹کاراکتر (char)
🔻حافظه‌ی اشغال شده
1 بایت معادل 8 بیت

🔻کوچک
‌ترین عدد ذخیره شده
0

🔻بزرگ ‌ترین عدد ذخیره شده
255

جدول کاملِ انواع متغیرها را می‌توانید در پُست بعد مشاهده کنید.

@Learncpp