Support for multiple filetypes with completers

I noticed a while ago that sometimes YCM's clang completion simply wouldn't work depending on the project I was working on, even though I they all were in c++.
It would continue to show completions from other buffers, so I knew it was partially there, just the clang integration was somehow bogus for me.
After a while I was able to figure out that the problem was setting the filetype to something other than cpp. More precisely, `ft=qt.cpp` (which helps with tools such as Ultisnips), would break the clang completion. Setting `ft=cpp` back would make everything work.

Valloric, I'm not big on python, so let me know what you think.

-- Off topic:
I tend to create autocommands, inside vimrc.local to projects, that will add such filetypes to specific paths inside the project, with things like "test.cpp" and "qt.cpp", for better control of snippet systems and other stuff.
If anybody knows a better way to handle this kind of thing with Vim, let me know :)
--