用地址而不是数字填充队列

时间:2016-06-04 00:48:07

标签: c++ arrays queue

我想知道你是否可以将地址推送到队列而不是其内容。例如,我有一个二维数组,我在它周围移动。我想跟踪我所处的景点,而且我不一定关心这些景点的内容。

1 个答案:

答案 0 :(得分:0)

是的,你只需要将队列声明为指针队列,例如" int *"或者你正在使用的任何类型。这是代码:

#include <iostream>
#include <queue>
using namespace std;


int main() { ios_base::sync_with_stdio(0);

    int a = 3, b = 4, c = 25;

    queue <int*> q;
    q.push(&a);
    q.push(&b);
    q.push(&c);

    while (!q.empty()) {
        cout << *q.front() << "->"; // printing values
        cout << q.front() << ' '; // printing adresses
        q.pop();
    }

    cout << '\n';


    return 0;
}