如何创建指针数组?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建指针数组?相关的知识,希望对你有一定的参考价值。

我正在尝试创建一个指针数组。这些指针将指向我创建的Student对象。我该怎么做?我现在拥有的是:

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];

现在的问题是,你只为五个指针保留了内存。因此,您必须遍历它们以自己创建Student对象。

在C ++中,对于大多数用例,使用std :: vector生活更容易。

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<<"
";
        arr=new int[size];
    cout<<"Dynamic allocation of memory for memory for array arr is successful";
    delete arr;
    getch();enter code here
}

以上是关于如何创建指针数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何创建指向继承类对象的指针数组

20160211.CCPP体系详解(0021天)

当指针指向数组时,为啥 operator(*) 的值不起作用?

以编程方式创建 MapView 并添加标记导致片段中出现空指针异常

如何创建指针数组?

指针/引用数组?