gpt4 book ai didi

c++ - C++中的指针数组和指向数组的指针

转载 作者:太空狗 更新时间:2023-10-29 22:57:23 26 4
gpt4 key购买 nike

我有一个类,其中它是 protected 部分我需要声明一个大小未知的数组(大小作为参数提供给构造函数),所以我环顾四周,发现最好的解决方案是声明一个指针数组,每个元素指向一个整数:

int* some_array_;

并且简单地在构造函数中我将使用“new”运算符:

some_array_ = new int[size];

它起作用了,我的问题是:我可以在类中声明一个数组而不定义大小吗?如果是,我该怎么做,如果不是,那为什么它适用于指针而不适用于普通数组?

编辑:我知道 vecotrs 会解决问题,但我不能在我的硬件上使用它们

最佳答案

您必须从编译器的角度考虑这是如何工作的。指针使用特定数量的空间(通常为 4 个字节),您可以使用 new 运算符请求更多空间。但是一个空数组占用多少空间呢?它不能是 0 字节,编译器无法知道为没有任何元素的数组分配什么空间,因此不允许。

关于c++ - C++中的指针数组和指向数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44345099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com