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 –