If someone said they had 2 years of experience in C++ but didn't understand the ins and outs of constructors / destructors and exceptions, it would not prevent me from hiring them. This is the type of knowledge that can be easily learned and consists of a few simple rules.
I would certainly like them to have that knowledge but not having it does not make them a bad or lazy programmer. I've worked with excellent C++ programmers that spent the majority of their time in old school COM and HRESULT land. This makes heavy use of C++ but virtually eliminates C++ exceptions. There is no need or reason for them to have learned it. Once we introduced exceptions into the code base, it took about 15 minutes to get everyone on board with the constructor / destructor problem.
I would much rather use an interview to test a persons problem solving skills than to see if they knew the ins and outs of a particular part of C++. It is so easy to teach that, but so hard to teach problem solving.