【问题标题】:Set Variable Array length?设置可变数组长度?
【发布时间】:2016-04-15 18:43:12
【问题描述】:

我正在使用 C++ Builder 来编写 iOS 应用程序。在我的应用程序中,我设置了一个 TImage 数组

  TImage *Image[10] ;

但我不知道运行时数组的长度。那么如何替换变量的 10 来设置变量数组长度。当我只是将 10 替换为整数变量时,我得到一个错误,即数组不能用可变长度声明

【问题讨论】:

标签: c++ arrays variables dynamic


【解决方案1】:

您可以使用std::vector

std::vector<TImage*> Image(10);

或者您可以使用动态分配的数组(但我会强烈建议改用 std::vector

TImage** Image = new TImage*[10];
// later
delete[] Image;

【讨论】:

  • 感谢您的快速答复。我是用动态分配的数组来做的,​​因为我对向量没有任何经验。我试图用向量声明它,但我得到一个错误:向量没有在 std:: 中实现
  • @Philip1895 你的文件中有#include &lt;vector&gt;吗?
  • @Philip1895 你有动态内存分配的经验吗?因为这比使用矢量要难得多。
  • 你能解释一下向量和数组之间的区别吗?我为什么要使用矢量?不,我对动态内存分配没有太多经验
  • @Philip1895 简而言之就是std::array的元素个数必须在编译时就知道,然后是固定大小。 std::vector 可以在运行时知道,并且大小可以改变,但它是从堆中分配的。两者都可以被视为数组(因为它们都在引擎盖下),因此它们是连续的,等等。
猜你喜欢
  • 2020-11-20
  • 2014-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
  • 2012-12-17
  • 1970-01-01
相关资源
最近更新 更多