2009-10-27
D言語の配列は要素の型の初期値で初期化される。
int[10] a;//各要素はint.initで初期化されている。 writeln(a)//0 0 0 0 0 0 0 0 0 0
動的配列の場合も同様に、
拡大した領域を初期化する。
int[] a = [1,2]; a.length = 10;//[2 .. 10]はint.initで初期化されている。 writeln(a)//1 2 0 0 0 0 0 0 0 0
char wchar dchar の初期値は、
UTF-8 UTF-16 UTF-32 として不正な文字。
import std.utf; char[] s; s.length = 10; s.validate; //Invalid UTF sequence: 255
そのため、文字列の長さを大きくした場合、
この文字列は不正な文字含むことのなる。