37 minutes ago · Tech · hide · 0 comments

I was “discussing” with Claude about using #define guards vs. #pragma once for C++ header files. At some point, Claude wrote that: If your library is only ever going to target modern mainstream compilers (which, realistically, is true for almost everyone today), plain #pragma once is fine and is what most modern C++ style guides (including Google’s and LLVM’s) now recommend by default. I did remember that, last time I checked, Google’s C++ Style Guide required #define guards (not #pragma once) for header files. That is still true as of today (August 18th, 2026); quoting Google’s C++ Style Guide on this point: All header files should have #define guards to prevent multiple inclusion. The format of the symbol name should be <PROJECT>_<PATH>_<FILE>_H_. So I made my point to Claude, and it replied apologizing for its error: You’re right, and I apologize for the error. Looking at the actual page, Google’s C++ Style Guide explicitly requires #define guards, not #pragma once This is another…

No comments yet. Log in to reply on the Fediverse. Comments will appear here.