c++ - 如何用 1000000 个元素声明类 C++

标签 c++ arrays class object declaration

我正在编写 C++ 代码,我需要声明一个具有两个元素的类

class arr{
    public:
        long num;
        string str;
};

现在我需要存储该类的近 1000000 个元素(取决于用户输入的类对象数量,范围为 1 <= n <= 1000000 对象动态创建为

#include <iostream>
#include<string>

using namespace std;

class arr{
    public:
        long i;
        string str;
};

int main(){
    long n,j,i;
    cin>>n;
    arr a[n];

....程序的其余部分

但是如果 n 的值大于 100000 那么程序会挂起但是对于小于 100000 的值工作正常我应该尝试用什么方法一次声明超过 100000 个对象我尝试在划分 arra 的 2D 数组的帮助下解决问题分两部分

[1000][1000];

但是这种方法对我不起作用

如果有人有任何想法,请帮我解决这个问题 提前致谢

最佳答案

只需使用std::vector

#include <iostream>
#include <vector>

int main(){
    long n;
    cin>>n;
    std::vector<arr> a(n);
}

关于c++ - 如何用 1000000 个元素声明类 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19197933/

相关文章:

c++ - eigen C++ 中的 Cholesky 分解 : how to get both the D vector and the inverse in one swoop?

java - 将数组引用分配给Java中的另一个数组

php - 完成抽象类的常见做法是什么?

java.lang.ArrayIndexOutOfBoundsException ,无法创建对象数组

c++ - 在哪里可以找到标准的 Visual C++ 头文件?

c++ - 测试标准输入是否有 C++ 输入(windows 和/或 linux)

C - 计算字符串数组中的字符数

c - 欧拉 #8 的解决方案

python - 如何比较 2 "Friends"并查看他们是否在彼此的好友列表中?

c++ - 运算符重载new和delete得到编译器错误