"Justin Johansson" <n...@spam.com> wrote in message news:hiktil$20a...@digitalmars.com... > Happy New Year 2010 Everybody. > > Having resumed C++ nationality for the last few months, I kind of miss D's > auto keyword. > > I am wondering, though, from an OO/polymorphism perspective, and UML and > sound software engineering perspective as well, what does D's auto keyword > buy you except (perhaps) laziness (in keystrokes)? >
It makes it possible to have one variable's type match that of another variable without having to update as many places when you want to change. Ex: --------------- class Foo { wchar x; void bar() { wchar[] y = x ~ "stuff"; wchar[] z = y ~ x; } } --------------- Now if I decide I want 'x' to be a 'char', I have to remember to change 'wchar'->'char' in all three declarations. But if 'y' and 'z' are declared with auto, all I have to do is change the declaration of 'x'. You could also get the same effect with typeof(), but that's more verbose and less DRY.