【发布时间】:2020-08-17 09:53:00
【问题描述】:
(如果我的问题很愚蠢,那是因为我是学生)
在我的程序中,当我声明我的大向量时,我得到“堆栈溢出”
cin >> big_number;
vector<int> my_vector[big_number];
** 堆栈溢出** ... (注意:在上面的示例中,big_number 可以取值高达 1.000.000)
在我的理解中,这是因为可变大小的向量被放置在堆栈上(而不是默认堆)。
我怎样才能把这个二维向量放在堆上? 将用户定义的向量放在堆上是“不好的做法”吗?
【问题讨论】:
标签: c++ vector stack-overflow heap-memory dynamic-memory-allocation