It states in the documentation:
"The caller is responsible for freeing the AcDbGripData objects whose pointers are in the grips array."
I am fine with this, but, to do this the array of grip data objects must be stored or cached somewhere in order to be cleaned up. How do you do this when the subGetGripPoints() function is 'const'? Surely a member variable on the custom entity won't suffice.
If the caller is responsible for the AcDbGripData objects, you can't safely cache pointers to their memory (because the caller will delete them, leaving you with pointers to freed memory).
Ok, so, in the case of subGetGripPoints(...) the caller would be the Autocad framework, so I don't need to worry about the AcDbGripData object pointers themselves... Just any appData structures that I may pass into them.