A couple minor points that aren't likely to be why you saw it in this case.
- It gives you something to set a breakpoint on.
- You could make it non-public
As far as "in case other constructors are added later and you forget that you don't have a default" - that might be a reason, I suppose. But if a non-default constructor were added, any code that used the default constructor would fail to compile, so the guy adding the new constrcutor would generally need to also add a defintion for the default ctor as well.
Then again, I can't think of any particular harm in having the empty ctor defined (though now that I've typed that, I get a feeling that someone might point out some corner of C++ where it could bite you).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…