🔵 اشارهگر (Pointer)
🔹اشارهگر ثابت (Constant Pointer)
زمانی که بخواهیم اشارهگر تنها قابلیت خواندن مکانی از حافظه را داشته باشد، آن را به صورت "ثابت" تعریف میکنیم؛ با این کار میتوانیم "آدرسهای" متفاوتی را داخل اشارهگر ذخیره کنیم اما نمیتوانیم "مقادیر" آنها را تغییر دهیم و صرفاً میتوان مقادیر آنها را خواند و مورد استفاده قرار داد.
به عنوان مثال تابع زیر دو مکان از حافظه را به عنوان ورودی میگیرد و مقادیری از حافظه را که بین این دو قرار دارند به کاربر نمایش میدهد:
🔺همان طور که میبینید ما نیازی به تغییر مقادیر ذخیره شده در حافظه نداشتیم، بنابراین از اشارهگر با مقدار ثابت استفاده کردیم.
با این حال در دستور 1️⃣ آدرس اشارهگر را تغییر دادیم، چرا که صرفاً "مقدار" اشارهگر ثابت است نه "آدرس" آن؛ برای اینکه آدرس اشارهگر هم ثابت تعریف شود و نتوان آن را تغییر داد میتوانیم از دستور زیر برای تعریف اشارهگر p استفاده کنیم :
🔺دقت کنید که حتماً در زمان تعریف اشارهگر ثابت، باید آن را مقداردهی کرد همچنین هر دو دستور زیر تنها یک اشارهگر، با "مقدار" ثابت به وجود میآورد :
@Learncpp
🔹اشارهگر ثابت (Constant Pointer)
زمانی که بخواهیم اشارهگر تنها قابلیت خواندن مکانی از حافظه را داشته باشد، آن را به صورت "ثابت" تعریف میکنیم؛ با این کار میتوانیم "آدرسهای" متفاوتی را داخل اشارهگر ذخیره کنیم اما نمیتوانیم "مقادیر" آنها را تغییر دهیم و صرفاً میتوان مقادیر آنها را خواند و مورد استفاده قرار داد.
به عنوان مثال تابع زیر دو مکان از حافظه را به عنوان ورودی میگیرد و مقادیری از حافظه را که بین این دو قرار دارند به کاربر نمایش میدهد:
void showNumbersBetween (const int *first , const int *last )
{
const int * current = first;
while ( current != last )
{
cout << *current << endl;
current++; // 1️⃣
}
}
🔺همان طور که میبینید ما نیازی به تغییر مقادیر ذخیره شده در حافظه نداشتیم، بنابراین از اشارهگر با مقدار ثابت استفاده کردیم.
با این حال در دستور 1️⃣ آدرس اشارهگر را تغییر دادیم، چرا که صرفاً "مقدار" اشارهگر ثابت است نه "آدرس" آن؛ برای اینکه آدرس اشارهگر هم ثابت تعریف شود و نتوان آن را تغییر داد میتوانیم از دستور زیر برای تعریف اشارهگر p استفاده کنیم :
int x = 0;
const int * const p = &x;
🔺دقت کنید که حتماً در زمان تعریف اشارهگر ثابت، باید آن را مقداردهی کرد همچنین هر دو دستور زیر تنها یک اشارهگر، با "مقدار" ثابت به وجود میآورد :
const int * p = &x;
int const * p = &x;
@Learncpp
❤1
🇮🇷سال 1398 را به همه ی اعضای کانال تبریک میگم 🌹😊
برامون آرزوهای خوب کنید
@Learncpp
برامون آرزوهای خوب کنید
# 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;
}
@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
#ویژگیها
در مقایسه با 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
❤2
@Learncpp_Bjarne Stroustrup.pdf
3.3 MB
@Learncpp_Addison_Wesley_-_Essential_C++_Ebook-fly.pdf
1.4 MB
#Qt #کیوت
🔴 آشنایی با کیوت (Qt)
🔸کیوت (Qt) مجموعهای از کتابخانهها و سرآیندهای نوشتهشده به زبان ++C است که به برنامهنویس امکان توسعه آسان نرمافزارهای کاربردی را میدهد.
کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه،ابزارهای پایگاهداده، شبکه و ... است.
🆔 @Learncpp
🔻کیوت یک فریم ورک برنامه نویسی برای ایجاد نرم افزارهای گرافیکی GUI و خط فرمان Console چند سیستم عاملی است که در دو نسخه رایگان و تجاری عرضه می شود.
🆔 @Learncpp
🔻کیوت با زبان ++C توسعه یافته است و به طور سنتی برنامه نویسی با این فریم ورک با زبان ++C امکان پذیر است در نگارش های جدید این فریم ورک ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان ++C برای طیف وسیعی از سیستمعاملها از جمله گنو/لینوکس(نسخههای رومیزی و وسیلههای قابل حمل) ویندوز، ویندوز CE،مکاواس و ... همگردانی شوند.
🆔 @Learncpp
🔻به این ترتیب حمل نرمافزار نوشته شده بدون تغییر در متن کد نوشته شده امکانپذیر است.
امروزه از کیوت در زبانهای برنامهنویسی متعددی مانند ++C و جاوا و پایتون میتوان استفادهکرد.
این مطلب ادامه دارد...
🔶کانال تخصصی برنامه نویسی ++C
👇👇👇
🌐 telegram.me/@Learncpp
🔴 آشنایی با کیوت (Qt)
🔸کیوت (Qt) مجموعهای از کتابخانهها و سرآیندهای نوشتهشده به زبان ++C است که به برنامهنویس امکان توسعه آسان نرمافزارهای کاربردی را میدهد.
کیوت شامل چندین کلاس برای کار با واسط گرافیکی، چندرسانه،ابزارهای پایگاهداده، شبکه و ... است.
🆔 @Learncpp
🔻کیوت یک فریم ورک برنامه نویسی برای ایجاد نرم افزارهای گرافیکی GUI و خط فرمان Console چند سیستم عاملی است که در دو نسخه رایگان و تجاری عرضه می شود.
🆔 @Learncpp
🔻کیوت با زبان ++C توسعه یافته است و به طور سنتی برنامه نویسی با این فریم ورک با زبان ++C امکان پذیر است در نگارش های جدید این فریم ورک ابزار کیوت قادرند تا با استفاده از یک کامپایلر زبان ++C برای طیف وسیعی از سیستمعاملها از جمله گنو/لینوکس(نسخههای رومیزی و وسیلههای قابل حمل) ویندوز، ویندوز CE،مکاواس و ... همگردانی شوند.
🆔 @Learncpp
🔻به این ترتیب حمل نرمافزار نوشته شده بدون تغییر در متن کد نوشته شده امکانپذیر است.
امروزه از کیوت در زبانهای برنامهنویسی متعددی مانند ++C و جاوا و پایتون میتوان استفادهکرد.
این مطلب ادامه دارد...
🔶کانال تخصصی برنامه نویسی ++C
👇👇👇
🌐 telegram.me/@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
🔴 آشنایی با کیوت (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
@Learncpp_C++Complete Reference (3rd Ed.).pdf
6.4 MB
@Learncpp_Herb_Schildt’s_C++_Programming.pdf
4.2 MB
@Learncpp.Professional C++ - [Marc Gregoire].pdf
8.1 MB
@Learncpp_Ivor Horton's Beginning Visual C++ 2008.pdf
12.5 MB
@Learncpp_Ivor Horton - c++ 2013.pdf
18 MB
@Learncpp_The C++ Standard Library, 2nd Edition.pdf
14.8 MB