Tonight he complained that when he put a reference to foo on his list, the destructor got called when the list went out of scope. "That's a list <foo> you've got there not a list <foo &>," I said. "Now imagine if you actually had a list of references and think about how the objects would eventually get deleted." He had gone through the necessary realization and reached a state of "abject terror" within minutes. That, my friends, is how you use c++ as an intelligence test: how fast does it take someone to realize exactly how much rope they have.
A while ago a friend mentioned he was learning C++. I told him he'd hate it. He said that so far it was being OK. Earlier this week, he commented on some annoying syntax features and said he thought he was beginning to see what I meant. I laughed to myself.