Sha*_*our 22 c++ standards iso language-lawyer c++11
在C++ 11标准中(最接近的草案是N3337)部分1.2 规范性参考文献说:
以下参考文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅引用的版本适用.凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本标准.
但是没有关于如何应用参考文献的指南.简单的情况是当C++ 11明确引用回引用时,例如在3.9.1 基本类型部分中它说:
[...]有符号和无符号整数类型应满足C标准第5.2.4.2.1节中给出的约束.
但是,没有明确参考的其他情况呢?例如,C++ 11使用单词indeterminate值,但它没有定义术语.规范性参考文献包括:
- ISO/IEC 9899:1999,编程语言 - C.
[...]
- ISO/IEC 9899:1999/Cor.3:2007(E),编程语言 - C,技术勘误3
和C99(草案c99标准)确实对部分中的不确定值有一个定义,3.17.2其中说:
要么是未指定的值,要么是陷阱表示
如果通过引用C99定义C++ 11来定义不确定值是否正确,就像这个答案似乎对于bit的定义一样?如果是的话,什么陷阱表示这是覆盖在部分6.2.6.1第5下代表处类型的C99?
慷慨的解读是,只要C++ 11中没有任何内容与规范性引用冲突就适用,这是正确的解释吗?一些答案是什么是C++中的不确定行为?它与未定义的行为有什么不同?似乎意味着慷慨的阅读,虽然在一些答案中语言有点宽松,所以很难说出某些要点究竟是什么.
Cas*_*sey 17
ISO标准文件的规范性参考文献部分的功能在ISO/IEC指令,第2部分,2011年第 6.2.2 节中定义:
6.2.2规范性参考文献
该条件要素应提供文件中引用文献的列表(见6.6.7.5),以使其对文件的应用是必不可少的.凡是注日期的引用文件,其具体内容大概是其出版年份,或者是作者的查询或最终草稿,并带有短划线和标题"待出版.",以及完整的标题.对于未注明日期的参考文献,不得提供出版或破折号的年份.如果未注明日期的参考文献是文件的所有部分,则出版物编号后面应标明"(所有部分)"和部分系列的一般标题(即介绍性和主要要素,见附件E).
原则上,参考文件应为ISO和/或IEC公布的文件.其他机构出版的文件可以通过规范的方式提及
a)所引用的文件被ISO和/或IEC委员会认可为具有广泛的接受和权威地位以及可公开获得,
b)相关的ISO和/或IEC委员会已经获得所引用文件的作者或出版商(已知)的同意,并且根据要求提供给作者或出版商 - 作者或出版商将被要求提供此类文件.文件要求,
c)作者或出版商(已知)已同意通知ISO和/或IEC委员会有关修改参考文件的意图以及修订将涉及的要点,以及
d)ISO和/或IEC委员会承诺根据参考文件的任何变化审查情况.
该清单应采用以下措辞:
"以下文件全部或部分在本文件中被规范性引用,并且对于其应用是必不可少的.凡是注日期的引用文件,仅引用的版本适用.凡是不注日期的引用文件,其最新版本(包括所有的修改单)均适用于本标准."
上述措辞也适用于多部分文档的一部分.
清单不应包括以下内容:
参考文件不公开;
参考文献仅以提供信息的方式引用;
在文件准备中仅作为书目或背景材料的参考文献.
这些参考文件可列在参考书目中(见6.4.2).
值得注意的是,并未说明所引用文件的内容已纳入当前文件.本质上,它用作所有其他标准文档的列表,这些文档在文档的其他地方以某种方式被规范地引用.
因此,并非所有内容,例如C99都包含在C++ 11中 - 只有C99的那些部分特别引用并入C++ 11标准.
| 归档时间: |
|
| 查看次数: |
620 次 |
| 最近记录: |