2016-06-04 13 views
-1

Ich fragte mich, ob Sie eine Adresse in eine Warteschlange statt ihren Inhalt schieben können. Zum Beispiel habe ich ein 2D-Array und ich bewege mich um es herum. Ich möchte die Orte, an denen ich war, im Auge behalten, und mir ist der Inhalt dieser Spots nicht unbedingt wichtig.Füllen Sie eine Warteschlange mit Adresse anstelle von Zahlen

+1

Ja, Sie können eine Adresse in eine Warteschlange, statt ihren Inhalt schieben. Sie müssen die Warteschlange nur so deklarieren, dass sie Zeiger enthält, auf die die Adressen zeigen. HTH. HAND. –

Antwort

0

Ja, Sie müssen die Warteschlange nur als Warteschlange von Zeigern deklarieren, zum Beispiel "int *" oder welchen Typ Sie auch verwenden. Hier ist der 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; 
}