使用地址而不是数字填充队列 [英] Fill a queue with address instead of numbers

查看:121
本文介绍了使用地址而不是数字填充队列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道您是否可以将地址推送到队列而不是其内容。例如,我有一个2d阵列,我正在四处移动。

解决方案

p>是的,你只需要将队列声明为指针队列,例如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);
qp.ush(& c);

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

cout<< '\\\
';


return 0;
}


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.

解决方案

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

这篇关于使用地址而不是数字填充队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆