I like to use the traditional include guards myself (as recommended by the accepted answer). It's really not that much more work, and you get the benefit of 100% portability. If you are writing a library, posting code samples, etc, it's ideal to use that old school syntax to avoid anyone else running into trouble.
That said, it has been pointed out as well by others here that the vast majority of modern compilers respect the #pragma once
directive, so it's relatively improbable you will encounter an issue using it in your own projects.
Wikipedia has a list of compilers supporting the directive:
https://en.wikipedia.org/wiki/Pragma_once#Portability