Nick Sabalausky, el 17 de abril a las 16:38 me escribiste: > "Adam D. Ruppe" <destructiona...@gmail.com> wrote in message > news:mailman.1171.1239998473.22690.digitalmar...@puremagic.com... > > On Fri, Apr 17, 2009 at 03:54:47PM -0400, Nick Sabalausky wrote: > >> What > >> opDotExp is, is a tool of only occasional use that provides only a small > >> benefit, *and* ends up destroying a much more important tool: > >> compile-time > >> checking on a class's members. > > > > Wouldn't the compile time checking remain the same on any class except > > the Variant (or whatever) which implements the new operator? > > > > If it is constrained to one type, the destruction seems like it would be > > acceptable. You can't trust much on a Variant at compile time anyway. > > > > The problem is there would be no way to tell at a glance whether a given > class uses opDotExp or not. You'd have to go look it up for every class. So, > ok, we could solve that by requiring a different syntax for dynamic > invokation. But we already have that: just pass a string to a dispatch > function.
This is like foreach. In C a for loop is a for loop, you are never calling a bizarre member function when looping. When you see code using foreach, you have to go look the variable definition to see if it's a real array to see what the looping is doing. Do we need foreach? No, it's just syntax sugar. But I think it makes life much more easier... There is a lot of black magic already doing on that makes much harder to see what's really going on with a piece of code (operator overloading?). If you don't like that, you should probably stick to C =) -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05)