
12 Dec
2005
12 Dec
'05
9:50 a.m.
Hi. I wondered what the reason that there is a 'operator=(auto_ptr<Y>&)' but there isn't any 'void reset(auto_ptr<Y>&'. This seems to me as asymmetry. At first I thought the reason that reset(Y*) is supplied instead of operator=(Y*), is that Y* assignment needs to be explicit (as the constructor is explicit) and operator= doesn't allow explicity (is there such a word?). But if this assumtion is correct, then there is contradiction between the constructor for auto_ptr, which is explicit, and the operator= for auto_ptr, which is not explicit. Am I talking nonsense? Thanks, Yuval