Fill a queue with address instead of numbers

半腔热情 提交于 2019-12-31 07:47:06

问题


I was wondering if you can push an address onto a queue instead of its contents. For example I have a 2d array and I'm moving around it. I want to keep track of the spots I've been in and I don't necessarily care about the contents of those spots.


回答1:


Yes, you just have to declare queue as queue of pointers, for example " int* " or whatever type you are using. Here's the code:

#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;
}


来源:https://stackoverflow.com/questions/37625285/fill-a-queue-with-address-instead-of-numbers

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!