سؤال

واني اسعى الى خلق مجموعة من المؤشرات. وتشير هذه المؤشرات إلى كائن طالب بأنني خلقت. كيف فعلتها؟ ما لدي الآن هو:

Student * db = new Student[5];

ولكن كل عنصر في ذلك الصفيف هو الكائن الطالب، وليس مؤشر إلى كائن الطالب. شكرا.

هل كانت مفيدة؟

المحلول

Student** db = new Student*[5];
// To allocate it statically:
Student* db[5];

نصائح أخرى

#include <vector>
std::vector <Student *> db(5);
// in use
db[2] = & someStudent;

وميزة هذا هو أنه لم يكن لديك ما يدعو للقلق حذف التخزين المخصصة - ناقلات يفعل ذلك بالنسبة لك.

وهو مكتوب هناك مجموعة من المؤشرات كمؤشر من مؤشرات:

Student **db = new Student*[5];

والمشكلة الآن هي، وأنك لا تملك إلا محفوظة الذاكرة لمؤشرات خمسة. ولذلك عليك أن تكرار من خلالها إلى خلق الطالب الكائنات نفسها.

في C ++، بالنسبة لمعظم حالات الاستخدام الحياة أسهل مع الأمراض المنقولة جنسيا :: ناقلات.

std::vector<Student*> db;

والآن يمكنك استخدام push_back () لإضافة مؤشرات جديدة إليها و[] لمؤشر عليه. انها أنظف من استخدام الشيء **.

    void main()
    {
    int *arr;
    int size;
    cout<<"Enter the size of the integer array:";
    cin>>size;
    cout<<"Creating an array of size<<size<<"\n";
        arr=new int[size];
    cout<<"Dynamic allocation of memory for memory for array arr is successful";
    delete arr;
    getch();enter code here
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top