Cuando no defines ningún constructor para una clase, existe un constructor por defecto que no hace nada (salvo llamar a los constructores de los campos que tenga que sean clases).
Eso es lo que dice el estándar.
Luego, cada compilador hará lo que vea, aunque generalmente se ceñirán al estándar.
Con esta última frase quiero decir, que si tú declaras un constructor, aunque sea el constructor por defecto con el cuerpo vacío, el compilador puede agregarlo al código si quiere.
En fin, el lenguaje C++ es un estándar y tiene un funcionamiento. Los "bytes" que ocupe el programa generado por el compilador, es algo a parte.
Si usas GCC para compilar, pasándole el argumento "-S", obtendrás el código ensamblador resultante. Ahí puedes ver con más detalle qué genera.
Y sobre temas del estándar de C++, puedes utilizar:
http://en.cppreference.com/w/cpp/language/default_constructor