c++ - 将没有指定大小的对象数组声明为类字段
问题描述
该字段必须是不可变的,所以我不能使用向量。有没有办法像标题中那样做?
我想做这样的事情:
typedef list<pair<int,string>> list_pair;
class tree{
private:
list_pair arr[]{
public:
tree(int size){
arr[size];
}
}
解决方案
有没有办法像标题中那样做?
不。
非静态成员数组必须具有已知大小,在 C++ 中没有办法解决。
该字段必须是不可变的,所以我不能使用向量。
您的非常量示例数组也不是不可变的。
此外,我看不出这有什么重要的原因。它是一个私有成员,因此很容易选择不改变它。这样,类从外部有效地保持不变。结论:使用std::vector
.
推荐阅读
- sql - SQL:根据另一列提取具有不同条件的行?
- python - Ansible 可以从 localhost 但不能从 docker 容器连接到 windows 机器
- javascript - Javascript - 数组未定义
- java - FireTV 应用程序中的 Exoplayer CC(隐藏式字幕)问题:被亚马逊商店拒绝
- r - 在r中的多列中计算0s 1s和2s
- angular - 无需重新加载页面的角度加载内容
- reactjs - 我正在尝试在挂钩中使用回调,但无法在回调中获取最新的上下文值
- c++ - ofStream 中的错误,Qt 5.14.2 无法将字符串写入文件
- php - datalist 上的选项值
- groovy - 如何在 Groovy 控制台中使用 weka 脚本