Micha Nelissen <mi...@neli.hopto.org>: > Vinzent Höfler wrote: > > Von: Micha Nelissen <mi...@neli.hopto.org> > >> That's why I suggested the use of 'const functions' in other message in > >> this thread. > > > > Yes, I read that later on. Is that implemented in FPC? > > I don't think so; but I think it would be a useful part of the iterator > proposal. The iterator case really gives it some strength.
I thought about it [no, not that long I needed to answer this mail...] and there are certain issues with this: At first, "const function" would tell us that the function does not change the object in any way, right? But this is bad for an iterator: Suppose, you want to replace some value in your iteration set, it wouldn't be allowed via the "const function" and calling "non-const" functions wouldn't be allowed inside the for-loop, because it could destabilize the iterator. For an iterator to work properly, the called functions should guaranteed that neither size nor order (perhaps in a stronger version) of the iterated set does change. Other values can be changed without problems, so the garantees made by a "const"-function would be too strong here, I think... > If not used > by other features it may seem more like a "OO-purity" thing (although > that is not per definition bad) ;-). It could easily be used as optimization. :) If the function is constant (and does not access global variables), its result can be replaced by the result of a previous call with the same argument (IOW: some notion of a "pure" function). Vinzent. -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel