C ++保存大型数组的最佳方法

时间:2017-10-26 14:38:47

标签: c++

我想创建一个类,以便保存图像。

template<size_t>

但我收到了这个错误:

  

字段的类型不完整&#39; int []&#39;

我尝试使用矢量但是当我想浏览图像700x700中的每个像素时,需要花费几倍的时间。

我已经看到int *的某些内容,但我不知道如何使用它。

或者使用USE AdventureWorks2008R2; GO SELECT * FROM HumanResources.Employee AS e INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID ORDER BY p.LastName SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; 可能更好,但我自己管理记忆不是吗?

是否可以创建一个int [0]并在构造函数中调整它的大小?

最好的方法是什么?

2 个答案:

答案 0 :(得分:7)

  

最好的方法是什么?

如果您在编译时知道大小,请使用std::array,如果您不使用std::vector并正确初始化它。手动创建内存不会给你任何东西,只有头痛,std::vector在幕后做同样的事情。

答案 1 :(得分:4)

它的C ++,使用std :: vector

#include <vector>
class MyImage
{
public :
    int height;
    int width;
    std::vector<int> matrix;

    MyImage(int h, int w) : height(h), witdh(w), matrix(h*w)
    {
    }
}