Last year I put together a post and video on some basics of Emacs for C++ development. In the video I didn't quite get completions fully working. I also used ggtags in that video but find myself using dumb-jump more frequently.
Here's a quick video showing how to set up irony-mode which uses libclang for completions. It's pretty slick. Now the only thing I think I'm missing is header file completions. If you've got a good setup for that, please share.