2012-02-16 30 views

回答

6

號你有什麼是constimmutable,他們傳遞的(他們真的不會,如果工作他們沒有)。你可以做

const(int)[] a = [0]; 
a[0] = 1; // ERROR. 
a = []; // OK; 

但不是你要找的。

constimmutable是可傳遞的時,編譯器可以提供更好的保證。另外,immutable對於線程(其存在的主要原因之一)確實沒有任何用處,除非它是可傳遞的,並且因爲immutable必須能夠爲constconst的任何內容也必須是傳遞性的。因此,它們不能用於簡單地防止變量重新分配。這樣做的語言中沒有其他的結構。

相關問題