#204
#book
📘نام کتاب: ++Professional C نویسنده: Mark Gregoire
زبان: انگلیسی
فرمت: pdf
ویرایش: چهارم
حجم: 8.1 MB
تعدادصفحات: 1377
@Learncpp
#203
#Book
📘نام کتاب: برنامه نویسی ++C
نویسنده: Herb Schildt’s
زبان: انگلیسی
فرمت: pdf
حجم: 4.2 MB
تعداد صفحات: 529
@Learncpp
#202
#Book
📘نام کتاب: The Complete Reference ++C
نویسنده: Herb Schildt’s
زبان: انگلیسی
فرمت: pdf
حجم: 6.4 MB
تعدادصفحات: 1041
@Learncpp
#Qt #کیوت
🔴 آشنایی با کیوت (Qt)
🔻بخش دوم
🔸 محیطهای توسعه مختلفی برای تولکیت Qt وجود دارد که اکثراً توسط برنامهنویسان علاقهمند به این تولکیت ایجاد شدهاند. جدیدترین محیط توسعه این تولکیت Qt Creator نام دارد که توسط صاحب جدید آن یعنی نوکیا ایجاد شدهاست. این محیط همراه با نرمافزارهای دیگری برای راحتی کار با لینوکس عرضه میشود از جمله Assisstant که یک مجموعه از کاربردها و طرز استفاده از کتابخانههای کیوت،Examples and Demosکه مثالهایی برای آشنایی هر چه بیشتر با کیوت است،
🆔 @Learncpp
🔸زبانشناسی که برنامهای به منظور ترجمه ی نرمافزارهای نوشته شده به این زبان و یا ساخت نرمافزارهای چند زبانه با سادگی هر چه تمام تر است و مهم تر از همه QtDesiner که نرمافزاری برای طراحی رابطهای کاربری با استفاده از ویدجت (دکمه، کادر متن و...)های از پیش طراحی شده است. از دیگر محیطهای توسعه مورد حمایت نوکیا میتوان به eclipse اشاره کرد که با استفاده از افزونهای قادر است که محیطی برای برنامهنویسی Qt باشد.
🆔 @Learncpp
🔸دیگر محیطهای توسعه Qt:
📳 نرم افزار Qt creator
♋️ نرم افزار visual studio(با افزونه کیوت)
📳 نرم افزار edyuk
🔸همه نسخههای Qt محدوده ی وسیعی از کامپایلرها را پشتیبانی میکنند که از جملهٔ آنها GCC و مایکروسافت ویژوال استودیو هستند.
🆔 @learncpp
🔸کیوت قابلیت چندسکوی دارد شما میتوانید با Qt برای مبایل android/ios و برای سیستم عامل های ویندوز ، مک، لینوکس اپلیکیشن توسعه دهید و لازم نیست برای هر کدام نسخه جداگانه بنویسید
یک اپلیکیشن بنویسید و روی devise های فوق اجرا کنید
☣ سایت معتبر جهت دانلود Qt Creator
و آموزش رایگان Qt
🔰www.qt.io
♦️کانال تخصصی برنامه نویسی ++C
👇👇👇
🌐 telegram.me/@Learncpp
#201
#Book
📘نام کتاب: برنامه نویسی ++C و الگوریتم های عمومی
نویسنده: Stanley B. Lippman
زبان: انگلیسی
فرمت: pdf
حجم: 1.4 MB
تعدادصفحات: 244
@Learncpp
#200
#Book
📘نام کتاب: برنامه نویسی ++C
نویسنده: Bjarne Stroustrup
زبان: انگلیسی
فرمت: pdf
حجم: 3.3 MB
تعداد صفحات: 1022
@Learncpp
🔴 مقایسه زبان C با ++C
#ویژگیها
در مقایسه با C زبان ++C ویژگیهای جدیدی را معرفی نموده است مانند تعریف متغیر به عنوان عبارت، تغییر نوعهای همانند تابع، اضافه/حذف، نوع داده bool، توابع درونخطی، آرگومان های پیش فرض، گران بارسازی عملگر و تابع ، فضای نام و عملگر تعیین حوزه ، کلاسها (شامل تمام ویژگیهای مربوط به کلاسها همانند وراثت، اعضای تابع، توابع مجازی، کلاسهای انتزاعی، و سازندهها)، قالبها، پردازش استثناء، کنترل نوع ، زمان اجرا، عملگرهای سربار شده ورودی (<<) و خروجی (>>)
🆔 @Learncpp
🔻برخلاف باور عموم ++C نوع داده ثابت را معرفی ننمودهاست.کلمه const کمی پیش از استفاده از این کلمه در ++C توسط زبان C به صورت رسمی به کار گرفته شد.
🆔 @Learncpp
🔻در بعضی حالات ++C تعداد کنترل نوع بیشتری نسبت به زبان C انجام میدهد. (برای اطلاعات بیشتر بخش «ناهماهنگی با C» را در پایین ببینید)
👈توضیحات با استفاده از // قبل از زبان C در زبان BCPL معرفی شده بود که مجدداً در زبان ++C به کار گرفته شد.
🆔 @Learncpp
🔻بعضی ویژگیهای ++C بعداً توسط C به کار گرفته شد مانند نحوه تعریف for، توضیحات به شکل ++C (با استفاده از //)، و کلمه inline با وجود اینکه تعریف این کلمه در C با تعریف آن در زبان ++C هماهنگی ندارد
🆔@Learncpp
🔻هم چنین در C ویژگیهایی معرفی شده است که در ++C وجود ندارند مانند ماکروهای قابل تغییر و استفاده بهتر از آرایهها به عنوان آرگومان. بعضی کامپایلرها این ویژگیها را پیاده نمودهاند اما در بقیه این ویژگیها موجب ناهماهنگی میگردد.
🆔 @Learncpp
🔵 اشارهگر (Pointer)
🔹اشارهگر ثابت (Constant Pointer)
زمانی که بخواهیم اشارهگر تنها قابلیت خواندن مکانی از حافظه را داشته باشد، آن را به صورت "ثابت" تعریف میکنیم؛ با این کار میتوانیم "آدرسهای" متفاوتی را داخل اشارهگر ذخیره کنیم اما نمیتوانیم "مقادیر" آنها را تغییر دهیم و صرفاً میتوان مقادیر آنها را خواند و مورد استفاده قرار داد.
به عنوان مثال تابع زیر دو مکان از حافظه را به عنوان ورودی میگیرد و مقادیری از حافظه را که بین این دو قرار دارند به کاربر نمایش میدهد:
void showNumbersBetween (const int *first , const int *last )
{
const int * current = first;
while ( current != last )
{
cout << *current << endl;
current++; // 1️⃣
}
}
int x = 0;
const int * const p = &x;
const int * p = &x;
int const * p = &x;
🔹اشارهگر چیست؟
به متغیری که بتواند به آدرس های حافظه دسترسی داشته باشد اشارهگر گفته میشود.
🔹کاربرد اشارهگرها
1️⃣ تخصیص حافظهی پویا
2️⃣ فراخوانی با ارجاع
3️⃣ فراخوانی آدرس توابع
4️⃣ بهبود کار با آرایهها و رشتهها
5️⃣ گرفتنِ بیش از یک خروجی از تابع
🔹نحوهی تعریف اشارهگرهاtype *variable;
🔺نوع type :
یکی از انواع دادههایی است که در t.me/Learncpp/91 توضیح داده شده است.
🔺عملگر * :
با استفاده از عملگر * به کامپایلر میفهمانیم که متغیر ما از جنس اشارهگر است؛ یعنی متغیری از جنس اشارهگر تعریف کردهایم.
🔺variable
نام اشارهگر است که از قانون نامگذاری متغیرها تبعیت میکند.
به عنوان مثال در قطعه کُد زیر، دو اشارهگر به نامهای ptrX و ptrY تعریف کردهایم که از نوع int هستند:int *ptrX , *ptrY;
🔸نکته :
متغیرهایی که قرار است اشارهگر را درون خود ذخیره کنند باید باهم، هم نوع باشند؛ مثلاً اگر متغیری به نام p از جنس int داریم، فقط به اشارهگری که از نوع int هست میتواند اشاره کند:int *ptrP , g;
g = 12;
ptrP = &g;
cout << *ptrP; //12
ولی در صورتی که متغیر به اشارهگری از نوع دادهای دیگر اشاره کرد با پیغام خطای زیر روبرو می شویم :
کد زیر را در نظر بگیرید:double g = 12;
int * p ;
p = &g;
cout << *p << endl;
که پس از اجرا به خطای زیر بر خواهیم خورد:
error: cannot convert double* to int* in assignment
int *ptrCount;
<cstddef> <cstdlib> <cstring> <cwchar> <ctime> <clocale> <cstdio>
#pointer #اشاره_گر
🔵 انواع متغیرها
علاوه بر بیت و بایت متغیرهای دیگری نیز برای ذخیرهسازی اطلاعات وجود دارند؛ البته نحوهی ذخیرهسازی مقادیر در تمام آنها یکسان است اما در پارهای موارد از جمله "مقدار حافظهی اشغال شده" و "نحوهی مقدار دهی" با یکدیگر متفاوت هستند.
در اینجا به بیان مشخصات چند نوع مهم از متغیرها میپردازیم.
🔹عدد صحیح (int)
🔻حافظهی اشغال شده
4 بایت معادل 32 بیت
🔻کوچک ترین عدد ذخیره شده
-2,147,483,648
🔻بزرگ ترین عدد ذخیره شده
+2,147,483,647
🔺چون عدد صفر جزءِ اعداد مثبت در نظر گرفته شده است، تعداد اعداد مثبت یک واحد کمتر از تعداد اعداد منفی است.
🔹عدد اعشاری با دقت کم (float)
🔻حافظهی اشغال شده
4 بایت معادل 32 بیت
🔻کوچک ترین عدد ذخیره شده
1.175494351 E – 38
🔻بزرگ ترین عدد ذخیره شده
3.402823466 E + 38
🔹عدد اعشاری با دقت زیاد (double)
🔻حافظهی اشغال شده
8 بایت معادل 64 بیت
🔻کوچک ترین عدد ذخیره شده
2.2250738585072014 E – 308
🔻بزرگ ترین عدد ذخیره شده
1.7976931348623158 E + 308
🔺هر دو نوعِ float و double برای ذخیره سازی اعداد اعشاری به کار میروند با این تفاوت که نوعِ double امکانِ ذخیرهسازیِ تعدادِ ارقامِ اعشاریِ بیش تری را فراهم میکند.
🔹کاراکتر (char)
🔻حافظهی اشغال شده
1 بایت معادل 8 بیت
🔻کوچک ترین عدد ذخیره شده
0
🔻بزرگ ترین عدد ذخیره شده
255
جدول کاملِ انواع متغیرها را میتوانید در پُست بعد مشاهده کنید.
@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
#204
#book
📒نام کتاب: ++Professional C
🔻نویسنده: Mark Gregoire
🔻تعدادصفحات: 1377
👇👇👇
@Learncpp
#203
#Book
📒نام کتاب: برنامه نویسی ++C
🔻نویسنده: Herb Schildt’s
🔻تعداد صفحات: 529
👇👇👇
@Learncpp
#202
#Book
📒نام کتاب: The Complete Reference ++C
🔻نویسنده: Herb Schildt’s
🔻تعدادصفحات: 1041
👇👇👇
@Learncpp
#Qt #کیوت
🔴 آشنایی با کیوت (Qt)
🔸کیوت (Qt) مجموعهای از کتابخانهها و سرآیندهای نوشتهشده به زبان ++C است که به برنامهنویس امکان توسعه آسان نرمافزارهای کاربردی را میدهد.
کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه،ابزارهای پایگاهداده، شبکه و ... است.
🆔 @Learncpp
🔻کیوت یک فریم ورک برنامه نویسی برای ایجاد نرم افزارهای گرافیکی GUI و خط فرمان Console چند سیستم عاملی است که در دو نسخه رایگان و تجاری عرضه می شود.
🆔 @Learncpp
🔻کیوت با زبان ++C توسعه یافته است و به طور سنتی برنامه نویسی با این فریم ورک با زبان ++C امکان پذیر است در نگارش های جدید این فریم ورک ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان ++C برای طیف وسیعی از سیستمعاملها از جمله گنو/لینوکس(نسخههای رومیزی و وسیلههای قابل حمل) ویندوز، ویندوز CE،مکاواس و ... همگردانی شوند.
🆔 @Learncpp
🔻به این ترتیب حمل نرمافزار نوشته شده بدون تغییر در متن کد نوشته شده امکانپذیر است.
امروزه از کیوت در زبانهای برنامهنویسی متعددی مانند ++C و جاوا و پایتون میتوان استفادهکرد.
این مطلب ادامه دارد...
🔶کانال تخصصی برنامه نویسی ++C
👇👇👇
🌐 telegram.me/@Learncpp
#201
#Book
📒نام کتاب: برنامه نویسی ++C و الگوریتم های عمومی
🔻نویسنده: Stanley B. Lippman
🔻تعدادصفحات: 244
👇👇👇
@Learncpp
#200
#Book
📒نام کتاب: برنامه نویسی ++C
🔻نویسنده: Bjarne Stroustrup
🔻تعداد صفحات: 1022
👇👇👇
@Learncpp
🇮🇷سال 1398 را به همه ی اعضای کانال تبریک میگم 🌹😊
برامون آرزوهای خوب کنید
# include<Noroz.h>
# include<Bahar.h>
void main()
{
for(i=0;ta akhar sale 98;i++)
printf("Happy new year 1398🌺@learncpp🌺")
getch();
return 0;
}
#pointer #اشاره_گر
🔹عملگر های مربوط به اشارهگر :
در رابطه با استفاده از اشارهگر ها دو عملگرِ * و & مورد استفاده قرار میگیرند.
🔺عملگر * :
برای تعریف یک اشارهگر و هم چنین مشخص کردن محتویات جایی که متغیر اشارهگرش به آن اشاره میکند استفاده میشود.
🔺عملگر & :
آدرس جایی که متغیر اشارهگرش به آن اشاره می کند را بر میگرداند.
به عنوان مثال به این قطعه کُد توجه کنید:int x;
double y;
int *ptrP1 , *ptrP2;
x = 2018;
y = 1397;
ptrP1 = &x; //
1️⃣ptrP2 = &y; //
2️⃣
کُد بالا یک متغیر صحیحِ 4 بایتی به نام x در خط بعد یک متغیر 8 بایتی به نام y و در نهایت دو اشارهگر صحیحِ 4 بایتی با نام ptrP1 و نام ptrP2 ایجاد میکند.
فرض کنید متغیر x در خانهی 100 حافظه باشد و چون 4 بایت است پس 4 بایت از حافظه را اشغال میکند هم چنین فرض کنید متغیر y در خانهی 105 حافظه باشد و چون 8 بایت است پس 8 بایت از حافظه را اشغال میکند.
حال دستور 1️⃣ باعث میشود اشارهگر ptrP1 به x و دستور 2️⃣ باعث میشود
اشارهگر ptrP2 به y اشاره کند.
🔺اما اگر برنامهی بالا را اجرا کنیم، جواب درستی نخواهیم گرفت ؛ چرا
اگر ما اشارهگر ptrP1 را چاپ کنیم عدد 2017 چاپ خواهد شد ولی اگر اشارهگر ptrP2 را چاپ کنیم عدد 1396 چاپ نخواهد شد و جواب یا چیز دیگری است یا کامپایلر خطا میگیرد، چرا که متغیر y هشت بایت از حافظه را اشغال میکند اما اشارهگر ptrP2 تنها میتواند به چهار بایت اشاره کند؛ این یعنی از 8 بایت متغیر y فقط 4 بایت اولش درون اشارهگر ptrP2 ریخته میشود و 4 بایت بعدی گم میشد یا کامپایلر خطا میگیرد.
🔸پس باید همیشه توجه داشته باشیم متغیرها با اشارهگرها همنوع باشند تا با خطا یا نتیجهی نادرستی روبهرو نشویم.
🔺برای حل مشکل بالا میتوانیم نوع ptrP2 را به double تغییر دهیم:int x;
double y;
int *ptrP1 ;
double *ptrP2;
x = 2018;
y = 1397;
ptrP1 = &x;
ptrP2 = &y;
@Learncpp
#pointer #اشاره_گر
🔵 جدول کُدهای ASCII
همانطور که پیشتر اشاره شد "هر بایت میتواند 256 عدد (از صفر تا 255) را در خود ذخیره کند"، بنابراین میتوان 256 کاراکتر مختلف را در یک بایت ذخیره کرد. به صورت قرار دادی جدولی به نام "جدول کُدهای ASCII" برای این کار ساخته شد؛ در این جدول هر کاراکتر با یک عدد منحصر به فرد از صفر تا 255 متناظر شده است.
جدول کامل کُدهای ASCII را میتوانید در سایت ascii-code.com مشاهده کنید.
@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
جهت دریافت لینک گروه سی پلاس پلاس و ساختمان داده:
@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