2012-02-16 6 views

Respuesta

6

No. Lo que tienes es const y immutable, y son transitivos (que en realidad no funcionarían si no lo fueron). Usted puede hacer

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

Pero no es lo que está buscando.

El compilador puede ofrecer mejores garantías cuando const y immutable son transitivos. Además, immutable realmente no sirve para enhebrar (una de sus razones principales para existir) a menos que sea transitivo, y porque cualquier cosa que sea immutable debe poder ser const, const debe ser transitiva también. Por lo tanto, por necesidad, no se pueden usar simplemente para proteger contra la reasignación variable. Y no hay otros constructos en el lenguaje para hacerlo.

Cuestiones relacionadas