问题
The title says it all. Have #pragma once
been standardized for C++0x? I don't know any compiler that doesn't provide an implementation of it, with almost always the same semantics and name.
回答1:
All #pragma
directives cause the implementation to behave in an implementation defined way.
This hasn't changed between C++03 and the latest C++0x draft (n3225.pdf). Include guards are the portable alternative.
回答2:
Sun C++ compiler (Solaris) does not implement it. And no, it's not in C++0x drafts.
回答3:
It's also trivial to implement using #ifdef. What's the guiding principal for the new version? Implement everything you might ever want and the kitchen sink or just give you the minimum tools to do so yourself?
来源:https://stackoverflow.com/questions/4563356/did-pragma-once-make-it-into-c0x