
آموزش جامع زبان برنامهنویسی C++ مقدماتی تا پیشرفته [0 تا 100 سی پلاس پلاس بهمراه حل تمرین و پروژه ✅] - محاسبات اشارهگر - قسمت 68
در این قسمت از دوره آموزشی C++، قصد داریم دربارهی عملیاتهای مختلف روی پوینترها صحبت کنیم. به طور خاص، موضوعاتی مانند تفریق دو پوینتر، جمع یا تفریق عدد با یک پوینتر، و مقایسه دو پوینتر با استفاده از عملگرهای برابری و نابرابری را بررسی خواهیم کرد. با مثالهای عملی، این موارد را به شما توضیح میدهیم.
ایجاد و استفاده از آرایه و پوینتر
ابتدا یک آرایه ایجاد میکنیم و سپس با استفاده از پوینترها آن را مرور میکنیم:
#include
using namespace std;
int main() {
int numbers[] = {5, 1, 6, 7, -1};
int *p1 = numbers;
while (*p1 != -1) {
cout << *p1 << endl;
p1++;
}
return 0;
}
در این مثال، ما یک آرایه numbers با پنج عنصر داریم و با استفاده از یک پوینتر p1، تمامی عناصر آن را تا رسیدن به مقدار -1 نمایش میدهیم.
استفاده از ++ و * برای پوینترها
حالا به ترکیب عملگرهای ++ و * میپردازیم:
int main() {
int numbers[] = {5, 1, 6, 7, -1};
int *p1 = numbers;
while (*p1 != -1) {
cout << *p1++ << endl;
}
return 0;
}
در اینجا، عملگر ++
ابتدا پوینتر را افزایش میدهد و سپس مقدار آن را برمیگرداند.
مقایسه پوینترها
برای مقایسه دو پوینتر میتوان از عملگرهای برابری و نابرابری استفاده کرد:
#include
#include
using namespace std;
int main() {
string s1 = "Mehdi";
string s2 = "Mehdi";
string s3 = "Bahram";
string *p1 = &s1;
string *p2 = &s2;
string *p3 = &s1;
// مقایسه آدرسها
cout << (p1 == p2) << endl; // false
cout << (p1 == p3) << endl; // true
// مقایسه محتوا
cout << (*p1 == *p2) << endl; // true
cout << (*p1 == *p3) << endl; // true
return 0;
}
در این مثال، مقایسه آدرسها و مقایسه محتواهای پوینترها انجام میشود.
تفریق پوینترها
برای محاسبه فاصله بین دو پوینتر، میتوان از عملگر تفریق استفاده کرد:
int main() {
int numbers[] = {5, 1, 6, 7, -1};
int *p4 = &numbers[0];
int *p5 = &numbers[3];
cout << p5 - p4 << endl; // 3
return 0;
}
در اینجا، فاصله بین دو پوینتر محاسبه شده و نتیجه به صورت تعداد عناصر بین دو پوینتر نشان داده میشود.
نتیجهگیری
در این قسمت از آموزش C++، نحوه استفاده و مقایسه پوینترها، انجام عملیات تفریق روی آنها و کار با آرایهها با استفاده از پوینترها را بررسی کردیم. درک این مفاهیم برای تسلط بیشتر بر روی مدیریت حافظه و کار با دادهها در C++ بسیار حیاتی است.
منابع خارجی مرتبط
ادامه دوره (قسمت 69)
در قسمت بعدی به طریقه ارسال و برگرداندن اشارهگر در توابع خواهیم پرداخت. اگر سوالی دارید، در بخش دیدگاه مطرح کنید. همچنین ممنون میشم با حمایت دلنشینتون از من و دورهها حمایت کنید.
در این بخش از دوره آموزشی زبان C++، به بررسی ارتباط و شباهتهای بین آرایهها و پوینترها میپردازیم. این مفاهیم اساسی برای درک بهتر...
در این قسمت، قصد داریم نحوه ارسال و دریافت پوینتر به/از تابع در زبان برنامهنویسی C++ را مورد بررسی قرار دهیم. برای این کار...
محاسبات اشارهگر
حق کپی ویدئو مجاز نمیباشد
قسمت:
جلسه شصت و هشت
نام دوره:
آموزش جامع ++C
زمان ویدئو:
11 دقیقه
مدرس:
مهدی کاظمی
در این قسمت یادخواهید گرفت:
در این قسمت از دوره آموزشی C++، قصد داریم دربارهی عملیاتهای مختلف روی پوینترها صحبت کنیم. به طور خاص، موضوعاتی مانند تفریق دو پوینتر، جمع یا تفریق عدد با یک پوینتر، و مقایسه دو پوینتر با استفاده از عملگرهای برابری و نابرابری را بررسی خواهیم کرد. با مثالهای عملی، این موارد را به شما توضیح میدهیم.
