I was just reading this article and wanted SO folks advice:
Q: Should delete this; be called from within a member method?
Not without a very good reason to do so.
The problem is that when you call delete this in a member function, you're creating a nasty side effect - the caller still has a reference to your instance that is now completely invalid.
This is probably not an expected behavior, so it could easily lead to nasty bugs.
That being said, there are times when this is appropriate (I've seen some memory management schemes, with certain libraries, where you explicitly create methods in the classes that delete themselves - primarily for language interoperability). In general, I think it's bad practice, though.