int a = 2;
int b = a;
a = 4;
b
仍然2,这是非常合乎逻辑的,在大多数的情况下是非常有用的。
有没有办法为a
和b
有始终不变的值,这意味着当他们中的一个改变的是,其他也得到了相同的价值呢?
例如:
//magic I am looking for
a = 2;
// now also b is equal to 2
b = 3;
// now also a is equal to 3
最接近我能得到(你可以忽略这一点,它可能不会在任何地方领导):
int a =2;
int *ptr = &a;
int *b = ptr;
a = 9;
cout << *b;
和*b
是9,改变*b
到9也使得a == 9
。
但a
和*b
是不相同的数据类型(int和指针INT),我似乎无法得到它的列表中工作。
编辑:我没有指定语言原因,我不确定这可能存在哪一个。它看起来像C++有一些类似的功能(引用),如我正在寻找的。
我唯一担心的是引用不在数组中,就像我上面的解决方案。
C和C++是具有不同特征的不同的语言。选择你使用的一个! – Olaf
使它们都指向相同的位置。既可以是指针也可以是分配内存,或者是指向一个指针(但语法不同,因为你必须记住去使用它时指针的指针) – Donnie
我看你已经修正了C++,因为你使用了' cout'流和'<<'运算符。请删除C标签。对于C++,您可以使用@CoryKramer –