i have come across a strange problem, causing conflict in concepts.
It is known that a const object can only call const functions with the exception of constructors and destructors which are called only once and automatically. But i experienced that we can also call the destructor explicitly (c++) :?, but that violates the const object concept as we can call destuctor with it and can do any thing in the function.
On net the only reason i found for allowing explicit destructor call is to clear the memory, but we can write some memory clean function, as we do initialization functions corresponding to initialization constuctors !!! i am not satisfied with this argument.
so my question is why explicit call of destructor is allowed? and how is justifies the const obj concept?
hope i can get some better reasoning from here. really looking forward for replies.