c++ - 创建没有指定大小的对象数组

标签 c++

我想创建一个由类制成的对象数组,但是我不知道这些对象中将有多少个。我尝试使用以下代码来实现它:MyClass a[];,但是Qt Creator向我显示了一个错误:类型为'MyClass []'的灵活数组成员'a',具有非平凡的破坏和警告:灵活数组成员是C99的一项功能。该代码与MyClass a[n];一起工作,但这不是我所需要的。

最佳答案

在C++中,您可以使用vector<MyClass>a
每当需要将更多对象添加到数组时,请使用:a.push_back(object)
基本上,当您声明 vector 时,将动态创建一个固定容量的容器。只要 vector 的大小超过容量,就会将整个 vector 复制到大小增加的新位置。

关于c++ - 创建没有指定大小的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59480541/

相关文章:

c++ - 将 itoa 与整数一起使用。设置缓冲区的限制

c++ - 就 size_t 而言, "size of the largest possible object on the target platform"是什么

c++ - 当 if 语句告诉它在 main 中返回 0 时,我的程序没有退出

c++ - Microsoft C++ 异常:std::out_of_range 在内存位置

C++ 嵌套 For 循环

C++ 无效参数,候选为 : ".." on Setters from different classes

c++ - Asio 端套接字函数 : cancel, 关闭、关闭、释放

c++ - 为什么system_clock time_point不能从duration构造?

c++ - Qt - 无法获取父小部件

C++ STL vector 半常数