无限的对象
Infinite objects
我有一个程序,它有一个名为"囚犯"的对象数组,由类"囚犯"组成。代码看起来像这样:
int intakeAmount;
cout << "How many inmates came in today";
cin >> intakeAmount;
Inmate convict[intakeAmount];
如您所见,用户必须输入进入系统的囚犯的确切数量。然后,它要求用户输入所创建的每个罪犯的信息。这很有效,但如果用户不知道当天有多少罪犯进入系统,该怎么办?当用户需要创建一个新的罪犯时,我如何才能使它能够访问每个罪犯的属性(即姓名,性别,年龄,身高和体重)?我已经把类设置好了getter和setter也都准备好了。这是我自己的个人知识,与任何类型的作业或考试无关。
其他的例子:我知道这是java,我承认我从来没有玩过,但我知道世界是无限的,用户可以创建无限数量的对象。
另一个我玩过的老式游戏例子是:过山车大亨——你可以随心所欲地创造许多园丁和机械师。
答案是动态分配数组,如建议的std::vector将在需要时自动调整大小。
#include <vector>
using std::vector;
vector<bool> numbers( N);
如果您避免使用new &删除,但是声明一个向量,你会发现它的sizeof
不包括实际的向量。因此,它不会在堆栈上分配大量内存,并且会在超出作用域时自动释放内存,使用RAII可以避免内存泄漏,这比使用new/delete分配内存要可靠得多。
c++ std::vector
的信息页资源获取是初始化
实际上是要为新囚犯添加一个新的列向量。c++会让你很难从终端输入数组。
I found下面的答案允许您从终端修改数组。1:[如何从用户(即控制台)提供数组元素以及如何将数组元素作为参数传递给函数
然后输出您为每个向量输入的所有值。
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- CMake-按正确顺序将项目与C运行时对象文件链接
- 空基优化子对象的地址
- 将对象数组的引用传递给函数
- 你能重载对象变量名本身返回的内容吗
- C++使用整数的压缩数组初始化对象
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 将对象移动到std::shared_ptr
- 代理对象的常量正确性
- 提升 ASIO 无法识别计时器对象
- 将Ref对象作为类成员
- 将包含C样式数组的对象初始化为成员变量(C++)
- 当对象被卡在一个无限循环中而被破坏时会发生什么
- 在具有静态对象的类的析构函数中使用 exit(),不会像预期的那样结束无限循环
- 在c++中,在两个进程之间拥有无限对象队列的最佳方式
- 快速排序应用于指向对象的指针向量-无限循环
- 与所属的类具有相同类型对象的数组是否会创建无限个实例?
- 无限的对象
- 如何以多态方式无限嵌套对象