¿Cómo puedo saber si un objeto está asignado de forma estática o dinámica en el constructor? [duplicar]

Posible duplicado:
¿Detectar objeto asignado dinámicamente?

Tengo un objeto que requiere una construcción ligeramente diferente si su instancia está asignada de forma estática o dinámica. El objeto solo debe tener un único constructor por defecto. Por lo tanto, tener dos constructores, uno para cada caso y que el usuario seleccione explícitamente el constructor adecuado está fuera de discusión.

¿Hay alguna manera adecuada de lograr esto?

Así es como hago esto en este momento: sobrecargo el nuevo operador para ese objeto, malloc la memoria, y uso el puntero devuelto como un puntero a la instancia (aún sin inicializar), y configuro un miembro de datos específico del objeto para algo de valor mágico. Luego, dentro del consutrctor, verifico el valor del miembro. Si es el valor mágico, entonces el objeto tiene un 99.9% de asignación dinámica.

Este método aún no ha fallado para mí, ya sea en modo de reinserción y depuración, sin embargo, parece ser un terrible ataque.

Respuestas a la pregunta(3)

Su respuesta a la pregunta