Vim doesn't support rainbow parentheses highlighting, out-of-the-box, for anything except Lisp. Rainbow highlighting is pretty awesome though, so if you want it for something like C or C++, a plugin is your best option. I had been using kien's plugin for the last few years, and was generally happy with it. While updating my plugins, though, I noticed that kien's plugin actually hadn't been updated in quite some time, despite having open bugs / pull-requests. After looking around a bit, I found that there are quite a few different rainbow parentheses plugins to choose from. Here is a quick chart to help you choose which one to use.
N.B. You can easily enable lisp rainbow highlighting by putting this in your
let g:lisp_rainbow = 1
Choosing a Rainbow Parentheses Plugin
The following are listed in order of my recommendation.
[Update: When I first posted this list, there were a number of actively maintained options. Since then, the number of active RP plugins has dropped, and ViM users seem to be coalescing around just a few of them.]
|luochen1990's rainbow||Yes||Jun 2015||Active maintainer, operator highlighting, very fast|
|kien's rainbow_parentheses||???||Mar 2013||Does not appear to be maintained, supports chevron hightlighting, generally stable.|
|oblitum's rainbow||No||May 2014||Abandoned, has chevron hightlighting, maintainer recommends using luochen1990's plugin|
|Martin Krischik's rainbow_parenthsis||No||Oct 2007||Not maintained, supports chevron hightlighting, basis for many of the above plugins.|
|John Gilmore's RainbowParenthsis||No||Mar 2005||Not maintained, was the original rainbow hightlighting plugin for Vim|
|amdt's vim-niji||Null||Null||Repo completely blown away by the maintainer|
As you might have guessed from the table above, I'm using louchen1990's plugin. I actually filed a couple of bugs against it when I first started using it, and the maintainer addressed them within a couple of days. The only thing I wish it had is chevron highlighting, which is really great for C++ code.