如何在c ++中将数组存储到队列中

Zha*_*gQI 2 c++ arrays queue

queue < int* > qq;

for (int i = 0; i < N; i++) {
    int cc[2] = {i, i + 1};
    qq.push(cc);
}
Run Code Online (Sandbox Code Playgroud)

N很大但不是Exact所以我想要使用队列.我想将许多数组存储到队列中,但qq存储的数组是相同的.我该怎么做?

Bas*_*tch 6

你的代码不起作用.每个cc循环中都有相同的堆栈位置.

你需要cc在堆中分配数组,也许是使用int *cc = new int[2];(但之后你需要delete它).

一种更好的方法是将已cc声明为std::vectorstd::arraystd::tuple(在C++ 11).