Los constructores de C ++ no tienen tipo de retorno. ¿Exactamente por qué?

Busqué en Google y leí muchas publicaciones, pero hay tantas respuestas diferentes que tienen sentido lógico que me preguntaba si un experto en el tema podría desmitificar esta pregunta.

Algunos dicen que no hay devolución porque no hay manera de regresar (la sintaxis lo prohíbe), sí, esto tiene sentido, pero creo que todas las funciones tienen que devolver algo, ¿no? Otros dicen que el constructor devuelve el nuevo objeto creado, lo que parece tener sentido ya que el operador de asignación se usa en el constructor. Otros más tienen otras explicaciones interesantes.

Respuestas a la pregunta(8)

Su respuesta a la pregunta