In one negotiation book I read, they call "fair" the "F" word. It means different things to different people, and throwing the word around doesn't further discussions much.
Getting to the C++ dev position, as a person who hires, I've never cared how much experience a person has. I care about how much skills and knowledge he can demonstrate. And an extra year doing C++ is information-free. It tells me nothing that sets him apart from another candidate who has one less year.
I mean, seriously - in my former C++ job if I ranked people by their C++ coding abilities (which includes SW design, etc), there was probably no correlation with years of experience. My manager even complained to me privately that people who had over a decade of experience were performing noticeably worse than those who had 5 or less years.
I've never actually encountered a case where a few months off, or even a year, made any real difference. In my company people occasionally take a few months off every so many years (sabbatical). Their performance does not degrade. A former coworker of mine left the job and wandered the world for 10 months, and got rehired back to his old job. His performance was not impacted (in fact, they prioritized him over someone else external to the company because he was already familiar with the job, whereas an external person would slow things down as he ramped up). I've seen people change careers (e.g. transition to marketing), do it for 1-2 years, and decide to return to engineering/software - no measurable impact.