2D阵列和动态数组

时间:2014-10-21 11:04:57

标签: c++ arrays

我有一个类,它只包含一个设置大小的一维数组(17):但是这个数组需要用于用户拥有的每个监视器,我不确定是否只需设置大小为10的say和数组限制用户,或者是否尝试更有活力的方法。

摘录自ScreenArray.h

private:
    unsigned long pixelArray[17];

我想建议哪种方法最适合我的问题,我将如何构建/分配和访问它?

编辑:阵列(或阵列的2D部分)最好动态到当前连接的监视器的大小。这包含设置大小为17的1D数组。

1 个答案:

答案 0 :(得分:0)

正如UnholySheep所说,在这种情况下,矢量是一个很好的工具:

  • 可变大小;
  • 超出范围保护;
  • 自动内存管理;
  • ...

我看到的唯一缺点可能是性能下降,但由于你的矢量太小,你甚至无法测量它,所以这不算数。

您可以像这样使用它:

// You'll need this one
#include <vector>

// Create you vector
// Replace TYPE with the type of it's members.
std::vector< TYPE > pixelArray;

// Add members to it
pixelArray.push_back( MEMBER );

// Access it as usual
pixelArray[n];