我是 C++ 新手。我正在解决类里面的一个问题。我们必须使用动态数组从文件中读取单词。
这是我的简单问题。
- 动态数组是否意味着使用指针?这意味着我们指向我们制作的新数组。
- 在Java中,ArrayList可以被创建并且大小可以动态改变。但对于我来说,使用动态数组是否意味着将数组的大小设置为一个很大的数字,然后动态分配该数组?
- 有没有办法从动态数组中删除多余的索引?那么删除最后的数组是我在 C++ 中唯一的选择吗?
谢谢,只能使用指针和动态数组。谢谢。
最佳答案
Java ArrayList
只能与 C++ 相媲美 Vector 。普通的动态数组在运行时不会更改其大小,因此如果您在 C++ 中声明动态 int
数组:
int *arr = new int[10];
该数组的大小将保持为 10。
但是,如果您使用 vector :
std::vector<int> arr(10);
然后,当该 vector 填充超过 10 个元素时, vector 对象会自动为自己分配更多内存。
因此,为了回答您的问题,动态数组意味着使用指针来跟踪放置堆分配数组的内存位置。但如果您使用 vector ,则会在内部为您处理
关于c++ - C++ 中的动态数组与 Java 中的 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21269313/