我在类中有一个数组,应该包含其他对象的一些实例.头文件如下所示:
class Document {
private:
long arraysize;
long count;
Row* rows;
public:
Document();
~Document();
}
Run Code Online (Sandbox Code Playgroud)
然后在构造函数中我像这样初始化数组:
this->rows = new Row[arraysize];
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,这只是设置rows为Row的实例而不是行数组.我如何初始化Row对象数组?
这应该工作.一个可能的"错误"将是一个不正确的值arraySize.
但是,您最好使用std::vector标准库中的a 来实现此目的.
#include <vector>
class Document {
// ...
std::vector<Row> rows;
// ...
};
Run Code Online (Sandbox Code Playgroud)
并在您的构造函数中:
Document::Document() : rows(arraySize) { // ... }
Run Code Online (Sandbox Code Playgroud)
要么
Document::Document() { rows.assign(arraySize, Row()); }
Run Code Online (Sandbox Code Playgroud)