en
Feedback
PI Team π ❷

PI Team π ❷

Open in Telegram

PI Team فريق تطوعي من طلاب دفعة 2025- 2030 في كلية الهندسة المعلوماتية جامعة حمص، يهدف لمساعدة الطلاب في الدراسة ونشر المحاضرات والملفات الهامة دون مقابل.

Show more
The country is not specifiedEducation63 666
1 427
Subscribers
-124 hours
-37 days
-1330 days
Posts Archive
شرح المحاضرتين 5+6

يلي حلها صح خارق عنجد 👀

خرج الكود السابق
Anonymous voting

#include <iostream> using namespace std; void Test(int* a, int& b, int** c) { *a += 5; b += *a; **c += b; *c = a; **c += 10; } int main() { int x = 2, y = 3, z = 4; int* p1 = &x; int* p2 = &y; int** p3 = &p2; Test(p1, z, p3); cout << x << " " << y << " " << z << " " << *p2 << endl; return 0; }

خرج الكود السابق
Anonymous voting

int a[] = {10, 20, 30}; int *p = a; int x = *++p; cout << x << " " << *p << endl;

الفكرة الأساسية هنا أنّ المؤشر الذي يؤشر على مصفوفة (اسم المصفوفة) هو مؤشر ثابت على بيانات متغيرة بما انه مؤشر ثابت فلا يمكننا تغيير قيمته

خرج الكود السابق :
Anonymous voting

int main() { int a[] = {10, 20, 30}; int x = *++a; cout << x << " " << *a << endl; return 0; }

الفكرة الاساسية هي :
unique_ptr<int> p2 = p1;
السطر السابق خاطئ(في المثال الأول)
unique_ptr<int> p2 = move(p1);
هكذا يتم نقل المكلية بالشكل الصحيح

خرج الكود السابق
Anonymous voting

#include <iostream> #include <memory> using namespace std; int main() { unique_ptr<int> p1 = make_unique<int>(50); unique_ptr<int> p2 = move(p1); cout<<*p2<<endl; return 0; }

خرج الكود السابق
Anonymous voting

#include <iostream> #include <memory> using namespace std; int main() { unique_ptr<int> p1 = make_unique<int>(50); unique_ptr<int> p2 = p1; cout<<*p2<<endl; return 0; }

الفكرة الاساسية من اخر تمرينين هي اول شي انا بالنسبة لمصفوفة الـ Char فيني اطبع العناصر يلي فيها يعني فيني اكتب
char x[]="Hello"; cout<<x<<endl;
هاد الشي صح ورح يطبع Hello وما رح يطبع عنوان هي اول ملاحظة ثاني شي عنا اياه بس شافت المصفوفة الرمز
\0
رح توقف عن الطباعة وتتجاهل باقي المحارف الموجودة ضمن المصفوفة
char x[]="a,b,c,d,/0,f,g,h"; cout<<x<<endl;
هاد المثال عكسنا الاتجاه استخدمنا
/0
بدال
\0
مشان هيك رح يطبع كلشي المثال الثاني:
char x[]="a,b,c,d,\0,f,g,h"; cout<<x<<endl;
بالمثال الثاني رح يوقف قبل الـ
\0
يعني رح يطبع لعند الفاصلة

: خرج الكود السابق -
Anonymous voting

char x[]="a,b,c,d,\0,f,g,h"; cout<<x<<endl;

خرج الكود السابق
Anonymous voting

char x[]="a,b,c,d,/0,f,g,h"; cout<<x<<endl;