稍后使用私有对象变量时如何初始化数组(初始化对象后)
How to initialize array later when using private object variable (after initializing the object)
我想在创建对象时首先初始化"虚拟"数组。我在课堂的私人部分有这个。
// Initialize dummy array when object is initialized.
int* matrix_[0][0];
然后我想稍后初始化新数组以替换虚拟数组(具有实际大小的数组(。我在课堂上有这方面的方法:
void set_map_size(int width, int height) {
int* pm[width][height];
matrix_ = pm;
}
所以问题是当我在创建对象后尝试初始化这个数组时。我希望其他方法/其他对象可以访问此数组。
也许我应该有指针?在创建对象时将指针初始化为 nullptr,然后将指针更改为指向数组?
在C++中执行此操作的正确方法是使用向量。
vector<vector<int>> matrix_;
然后,您可以动态调整矩阵的大小
void set_map_size(int width, int height) {
matrix_.resize(height);
for (auto &x : matrix_)
x.resize(width);
}
因为数组是固定大小的,可变长度数组不是标准C++(即使某些编译器接受它(。
相关文章:
- 用C++中的CPerson(类)类型的对象初始化STL矢量
- 对象初始化中是否允许指向此成员的指针?
- 对象初始化后在C++中显示 char 数组时的异常行为
- 为什么两种不同的对象初始化方式给出不同的输出
- (2 问题)"类"类型重新定义(即使 #pragma 一次),以及静态函数内的静态成员对象初始化?
- afxmem.cpp中的对象初始化差异
- 删除通过取消引用新对象初始化的对象
- 如何使用sregex_token_iterator对象初始化向量
- 关于默认构造函数,对象初始化/使用C++ OOP
- C++ 基元类型初始化与对象初始化
- 哪个函数负责C++全局范围内的类对象初始化?
- C++中构造函数的对象初始化出现问题
- 如何修复模板 BST 类的对象初始化
- 无法在 QML/C++ 中使用绑定对象初始化 UI
- 为什么参数可以在对象初始化时通过赋值运算符传递给构造函数?
- 类对象初始化的二维向量
- GCC:当层次结构中存在虚拟继承时,C++11 内联对象初始化(使用 "this")不起作用
- 对象初始化
- 类对象初始化
- 使用从另一个类继承的类的对象初始化成员对象