I've finally made it to the creation of classes, and my book (Gaddis) suggests as include guard only #ifndef ... #endif. But since I've seen #pragma once in various spots and it is used when MS Visual C++ generates an empty class, I looked that up in Wikipedia and learned that it's roughly equivalent to #ifndef ... #endif, saves a bit of space and has a few other advantages that I don't understand but also some disadvantages such as not being universally supported, possibly a bit more error-prone.
So, I just wanted to ask what more experienced programmers prefer as include guard when declaring classes.