【发布时间】:2012-11-15 22:57:42
【问题描述】:
在写this 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
【问题讨论】:
-
我刚刚发现 issue #496 中提议的措辞更改只有一个月左右的时间,因此,晚于 C++11。因此它仍然处于活动状态。我想那我问的只是与 Maddock 2004 年以 #496 开始时一样的问题。
标签: c++ c++11 volatile language-lawyer