指向类的指针的动态大小数组
Dynamic sized array of pointers to class
这些是数组限制:数组具有自定义大小,我将在程序顶部读取,这将是指向我自己的类Tree的指针数组,数组需要对每个单元格恒定的读取时间。
这是我的代码,不起作用: scanf("%d %d",&n,&q);
Tree *pointers = new Tree[n];
pointers[0]->value = NULL;
永远不要使用scanf
。在C++中,使用动态容器和iostreams:
#include <iostreams>
#include <vector>
int main()
{
unsigned int n;
int q;
if (!(std::cin >> n >> q)) { /* error! */ }
std::vector<Tree> forest(n);
// ...
}
根据您的设置,最好先逐行读取,然后处理每一行;搜索这个网站,因为这个已经被回答了一百次了。
如果声明了指针,语法:"*pointer"表示内存位置。"指针"表示指向内存位置的指针。
因此,Tree *pointers = new Tree[n];
new关键字返回一个指向无法分配的内存位置的指针。
我希望这能解决问题:
Tree *pointers;
pointers = new Tree[n];
我猜您在问C++
。
您的代码将不起作用。
您不能在C或C++中动态分配数组,在运行时推迟其大小的定义
您必须使用指针:
Tree *pointers =new Tree[n];
不要忘记delete [] pointers
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 2D数组来自文本输入,中间有空格
- std::向量与传递值的动态数组
- 在c++中用vector填充一个简单的动态数组
- 使用strcpy将char数组的元素复制到另一个数组
- 声明后,gcc 的动态大小数组是否与标准数组有效相同?
- 将 int 数组转换为带有小数C++的双精度数组
- 如何将大括号初始值设定项用于动态大小数组和新数组?
- 对未知大小数组的引用的列表初始化:它是否应该推断数组大小?
- 返回指向固定大小数组C++的数组的指针
- 如何将小数数组转换为二进制数数组
- 对指向固定大小数组的指针数组的内存分配的解释
- 在 C++ 中创建固定大小的 int 数组的动态大小数组