Array literals' default type
bearophile
bearophileHUGS at lycos.com
Thu Oct 8 11:23:23 PDT 2009
Andrei Alexandrescu:
> auto c = [ 2.71, 3.14, 6.023e22 ];
> c ~= 2.21953167;
> Should this work? Currently it doesn't because c's type is deduced as
> double[3].
> The literal can initialize either double[3] or double[], so the question
> is only what the default should be when "auto" is used.
double[] is safer and more flexible, so I think that has to be the default. The double[3] is a (very useful) optimization.
auto c = [2, 3.14, 6.023e22];
=> double[]
double[$] c = [2, 3.14, 6.023e22];
=> double[3]
Bye,
bearophile
More information about the Digitalmars-d
mailing list