C++ Tutorial - part 68

آموزش جامع زبان برنامه‌نویسی C++ مقدماتی تا پیشرفته [0 تا 100 سی پلاس پلاس بهمراه حل تمرین و پروژه ✅] - محاسبات اشاره‌گر - قسمت 68

در این قسمت از دوره آموزشی C++، قصد داریم درباره‌ی عملیات‌های مختلف روی پوینترها صحبت کنیم. به طور خاص، موضوعاتی مانند تفریق دو پوینتر، جمع یا تفریق عدد با یک پوینتر، و مقایسه دو پوینتر با استفاده از عملگرهای برابری و نابرابری را بررسی خواهیم کرد. با مثال‌های عملی، این موارد را به شما توضیح می‌دهیم.

ایجاد و استفاده از آرایه و پوینتر

ابتدا یک آرایه ایجاد می‌کنیم و سپس با استفاده از پوینترها آن را مرور می‌کنیم:

				
					#include <iostream>
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 <iostream>
#include <string>
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++، قصد داریم درباره‌ی عملیات‌های مختلف روی پوینترها صحبت کنیم. به طور خاص، موضوعاتی مانند تفریق دو پوینتر، جمع یا تفریق عدد با یک پوینتر، و مقایسه دو پوینتر با استفاده از عملگرهای برابری و نابرابری را بررسی خواهیم کرد. با مثال‌های عملی، این موارد را به شما توضیح می‌دهیم.

مهدی کاظمی

سلام مهدی کاظمی هستم و باعث افتخارم هست که در یک دوره جذاب دیگه با شما هستم و قراره در کنار هم از یادگیریمون لذت ببریم.

با بانک سوالات طبقه بندی شده ++C مقدماتی تا پیشرفته، جامع ترین منبع برای تسلط بر زبان سی پلاس پلاس و آمادگی کامل برای دروس مبانی و پیشرفته کامپیوتر در رشته مهندسی کامپیوتر را در اختیار خواهید داشت.

0 دیدگاه
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها