繁体   English   中英

C++中需要动态数组

[英]Need of Dynamic Array in C++

当我们在编译时不知道输入的确切大小时,我们会创建动态数组,对吗? 但是不使用Dynamic arrays是不是就不能解决这个问题呢? 例如:

cout<<"Enter Size of Array";
cin>>x;
int arr[x];

通过使用上面的代码,我们可以创建一个 int 数组,数组的大小取决于用户输入(即 x)。 如果这段代码解决了我们的问题,那么动态数组还需要什么呢?

我是编程新手,所以尽量简单地解释一下。 谢谢。

  • 动态 arrays 在数组大小事先未知或用户未输入时使用。

例如,我们要存储订阅产品更新的用户的详细信息。

在这种情况下,我们不知道有多少用户会订阅产品更新。 所以我们需要动态 arrays 或者我们可以在 C++ 中使用向量

通常在竞争性编码中我们不需要动态 arrays 因为我们事先知道输入。 但在现实世界的用例中,我们可能需要动态 arrays。

其他参考资料:

  • 矢量在内部是如何工作的 - 链接

你可以使用 std::vector,它几乎可以用作数组。 它可以在运行时初始化,如果你想要它可以稍后调整大小

std::cout<<"Enter Size of Array";
std::cin>>x;

//  vector also initializes all entries to 0
std::vector<int> values(x);
int answer = values[42];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM