Re: CINT and operator->

From: George Heintzelman (gah@bnl.gov)
Date: Mon Jan 24 2000 - 16:40:20 MET


> This is a known cint limitation. Cint does not allow overloading -> operator.
> It is possible to enhance this in cint, however, there is a problem for
> existing root application.  Some of the existing macro depends on current
> cint behavior. 

Really? So there are classes in ROOT which overload operator->, yet a 
macro uses -> to mean . for that class? To me, that seems like a recipe 
for confusion anyway... (NB, I didn't find any occurances of 'operator->
' in the ROOT source code, except a few things applying it in CINT/RINT
code. I doubt very many users have used it to date, and those who did 
probably didn't use it in a way which will cause problems, since using 
it correctly requires a somewhat advanced understanding of C++.)

I hope I was clear: I wasn't proposing removing the extension which 
allows one to use -> as . in appropriate cases, merely that when one 
has a class which overloads operator->, one uses that first, before 
trying the extension to C++. If this is possible, it would provide very 
few backwards compatibility problems, I should think.

> I will implement overloading of operator-> in pure cint 5.14.28. However 
> this feature will not be turned on for root to keep backward compatibility.

Thanks much for this; I suspect that turning it on in ROOT would prove 
to be just fine, though.

George Heintzelman
gah@bnl.gov



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:17 MET