実行時にポインタと参照をどのように区別しますか?たとえば、データ型のポインターがポインターであるかどうかを知らずに解放したい場合、どうすればよいでしょうか。変数がスタックに割り当てられているのか、malloc()を介して割り当てられているのかを判断する方法はありますか?
void destInt(int* var)
{
free(var);
}
int num = 3;
int &numRef = num;
int* numPtr = (int*)malloc(sizeof(int));
*numPtr = num;
destInt(&numRef); //Syntactically correct but generates invalid pointer()
destInt(numPtr); //Fine syntactically and logically