在写这个答案时,我意识到我对我的结论并不像我通常在点击之前所确保的那样有信心Post Your Answer。
我可以找到一些相当有说服力的引文来说明数据成员的琐碎可复制性volatile
要么是实现定义的,要么是完全不允许的:
- https://groups.google.com/forum/?fromgroups=#!topic/comp.std.c++/5cWxmw71ktI
- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48118
- http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#496
但我无法在标准1本身中支持这一点。特别“令人担忧”的是,在实际标准的最终措辞中,没有迹象表明提议的措辞与 n3159 问题列表相比有所改变。
那么,什么给了?volatile
数据成员是否可以轻松复制?
1 C++11