To be fair though, CVs are often written for HR people and not for Techs. And if, even though you have 20 years of experience, you still, correctly, state you know "some" C++ but are not an "expert", you're out. Because HR people are looking for "experts". That word means something entirely different to a regular person than it does to some hardcore developers.
I wouldn't suggest listing "some" or "expert". Just stick to facts and not self-assessment. We can assess in an interview. If you want to emphasize one skill over another, list it more prominently/frequently, or quantify it with years of experience.
People that put expert on a résumé are just asking for a beating in interviews when the hiring company has a strong team.
Also CVs are often vandalised by recruiting agents. I'm considering starting a policy of swapping CVs at the start of an interview so that they can see the CV I gave to the agency and I can see the CV the agency gave to them.
Understood, but I'd disagree with that point. Perhaps I wasn't clear. I don't know of any recruiters or HR people who would be likely to base their decision to interview someone on a self-assessed "expert" listing on a resume.
Fair point. I'd still just put "20 years of C++ experience" or some other objective fact ("wrote a compiler".) If that is not enough then it is rather safe to assume the company is not a good fit. Disclaimer: I admit I'm probably in the top percentile of c++-expert-cringeness :-)