是否可以有一个包含int值和int引用的数组

Is it possible to have an array with int values and int references?

本文关键字:int 值和 引用 数组 包含 有一个 是否      更新时间:2023-10-16

有可能拥有一个包含int值和int引用的数组吗?

有没有其他方法可以使数组arr在打印arr[1]时始终打印arr[0]的值(而不必在修改arr[0]时更新arr[1])?

没有,但您可能有这样一个所需的数组:

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