2016-05-13 3 views
0

Ist es möglich, ein Array mit int-Werten und int-Referenzen zu haben?Ist es möglich, ein Array mit int-Werten und int-Referenzen zu haben?

Gibt es eine andere Art und Weise ein Array arr, so dass zu haben, wenn Sie arr[1] drucken Sie es immer gibt den Wert von arr[0] (ohne arr[1] aktualisieren zu müssen, wenn arr[0] geändert wird)?

+4

Ein Array-Elemente desselben Typs enthalten muss. 'int' und' int & 'sind unterschiedlich, also keine – vu1p3n0x

+0

Was wollen Sie tun? –

+9

Das klingt wie ein [XY-Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem). Bitte beschreiben Sie Ihr tatsächliches Problem. – TartanLlama

Antwort

0

No, aber man kann eine gewünschte Anordnung aufweisen, so:

#include <iostream> 
using namespace std; 

class CIntRef 
{ 
public: 
    CIntRef(const int & ref) : ref(ref) {} 
    operator const int &() { return ref; } 
    const int& operator=(const int &i) { 
     const_cast<int&>(ref) = i; 
     return ref; 
    } 
private: 
    const int & ref; 
}; 

int main() 
{ 
    int a = 2; 
    CIntRef arr[] = { a, a, 0, 1 }; 
    cout << arr[1] << endl; // <-- prints: 2 
    arr[0] = 3; 
    cout << arr[1] << endl; // <-- prints: 3 
    return 0; 
} 
Verwandte Themen