在C++11标准(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf)一节中,1.2规范参考文献指出:
下列参考文档对于本文档的应用是必不可少的。对于注明日期的参考资料,只适用于引用的版本。对于未注明日期的参考资料,适用参考文件的最新版本(包括任何修改)。
但没有关于如何应用这些参考资料的指导方针。简单的情况是,当C++11显式地引用引用时,例如在3.9.1基本类型中,它说:
...The有符号整数类型和无符号整数类型应满足C标准5.2.4.2.1节中给出的约束。
但其他没有明确提及的情况又如何呢?例如,C++11使用不确定值这个词,但它没有定义这个词。规范性参考资料包括:
- ISO/IEC 9899:1999,编程语言-C ..。 - ISO/IEC 9899:1999/Cor.3(E),编程语言- C,技术勘误3
C99(http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf)在3.17.2节中确实对不定值有一个定义,即:
未指定的值或陷阱表示
通过引用C++11 (如这个答案似乎适用于位的定义。 )来定义不确定值是正确的吗?如果是的话,那么在6.2.6.1第5节中,在C99中类型的表示下包含的陷阱表示又如何呢?
慷慨的解读是,只要C++11中没有任何与规范参考相冲突的地方,那么它就适用了,这是正确的解释吗?C++中的不确定行为是什么?它与未定义的行为有何不同?的一些答案似乎意味着一个慷慨的阅读,尽管语言在一些答案中有点松散,所以很难知道在某些方面到底有什么要求。
发布于 2014-04-11 19:49:41
国际标准化组织标准文件的规范参考部分的功能在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中--只有那些被专门引用为C++11标准中包含的C99部分。
https://stackoverflow.com/questions/23020323
复制相似问题