- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在 C++11 标准 ( closest draft is N3337 ) 部分 1.2
规范性引用 说:
The following referenced documents are indispensable for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.
但没有关于如何应用引用的指南。最简单的情况是 C++11 显式引用引用,例如在 3.9.1
基本类型部分中它说:
[...]The signed and unsigned integer types shall satisfy the constraints given in the C standard, section 5.2.4.2.1.
但是其他没有明确引用的情况呢?例如,C++11 使用了 indeterminate value 这个词,但它没有定义这个术语。规范性引用文献包括:
— ISO/IEC 9899:1999, Programming languages — C
[...]
— ISO/IEC 9899:1999/Cor.3:2007(E), Programming languages — C, Technical Corrigendum 3
和 C99( draft c99 standard ) 在 3.17.2
部分确实有 indeterminate value 的定义:
either an unspecified value or a trap representation
说 indeterminate value 是通过引用 C99 来定义 C++11 是否正确,如 this answer seems to do for the definition of bit ?如果是,那么 trap 表示 呢在 C99 中?
慷慨的解读是,只要 C++11 中没有任何内容与规范性引用相冲突,那么它就适用,这是正确的解释吗? What is indeterminate behavior in C++ ? How is it different from undefined behavior? 的一些答案似乎暗示了一个慷慨的阅读,虽然在一些答案中语言有点松散,所以很难说出在某些点上究竟声称了什么。
最佳答案
ISO 标准文档的规范性引用部分的功能在ISO/IEC Directives, Part 2, 2011 中定义。 §6.2.2:
6.2.2 Normative references
This conditional element shall give a list of the referenced documents cited (see 6.6.7.5) in the document in such a way as to make them indispensable for the application of the document. For dated references, each shall be given with its year of publication, or, in the case of enquiry or final drafts, with a dash together with a footnote “To be published.”, and full title. The year of publication or dash shall not be given for undated references. When an undated reference is to all parts of a document, the publication number shall be followed by the indication “(all parts)” and the general title of the series of parts (i.e. the introductory and main elements, see Annex E).
In principle, the referenced documents shall be documents published by ISO and/or IEC. Documents published by other bodies may be referred to in a normative manner provided that
a) the referenced document is recognized by the ISO and/or IEC committee concerned as having wide acceptance and authoritative status as well as being publicly available,
b) the ISO and/or IEC committee concerned has obtained the agreement of the authors or publishers (where known) of the referenced document to its inclusion and to its being made available as required — the authors or publishers will be expected to make available such documents on request,
c) the authors or publishers (where known) have also agreed to inform the ISO and/or IEC committee concerned of their intention to revise the referenced document and of the points the revision will concern, and
d) the ISO and/or IEC committee concerned undertakes to review the situation in the light of any changes in the referenced document.
The list shall be introduced by the following wording:
“The following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.”
上述措辞也适用于多部分文档的一部分。
该列表不应包括以下内容:
未公开的引用文件;
仅以提供信息的方式引用的引用文件;
在准备文件时仅作为书目或背景 Material 的引用文件。
此类引用文件可能会列在引用书目中(参见 6.4.2)。
值得注意的是,它并没有说引用文档的内容被合并到当前文档中。本质上,它作为所有其他标准文档的列表,在文档中以某种方式规范地引用了其他地方。
因此,并非 C99 中的所有内容都被合并到 C++11 中 - 只有 C99 的那些部分被特别引用为被合并到 C++11 标准中。
关于c++ - 我们能否将规范性引用中未明确引用的内容应用于 C++ 标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23020323/
我最近在读 CSAPP。在 10.9 节中,它说标准 I/O 不应该与 socket 一起使用,原因如下: (1) The restrictions of standard I/O Restricti
似乎是一个足够标准的问题,可以保证解决方案中的标准设计: 假设我想在文件中写入 x+2(或更少)个字符串。 x 字符串构成一个部分的内容,这两个字符串构成该部分的页眉和页脚。要注意的是,如果内容中没有
代码版本管理 在项目中,代码的版本管理非常重要。每个需求版本的代码开发在版本控制里都应该经过以下几个步骤。 在master分支中拉取该需求版本的两个分支,一个feature分支,
我有以下sql查询,我需要获取相应的hibernate条件查询 SELECT COUNT(DISTINCT employee_id) FROM erp_hr_payment WHERE payment
所以我正在编写一些代码,并且最近遇到了实现一些 mixin 的需要。我的问题是,设计混音的正确方法是什么?我将使用下面的示例代码来说明我的确切查询。 class Projectile(Movable,
我的环境变量包含如下双引号: $echo $CONNECT_SASL_JAAS_CONFIG org.apache.kafka.common.security.plain.PlainLoginModu
示例: /** * This function will determine whether or not one string starts with another string. * @pa
有没有办法在 Grails 中做一个不区分大小写的 in 子句? 我有这个: "in"("name", filters.tags) 我希望它忽略大小写。我想我可以做一个 sqlRestriction
我搜索了很长时间,以查找将哪些boost库添加到std库中,但是我只找到了一个新库的完整列表(如此处:http://open-std.org/jtc1/sc22/wg21/docs/library_t
我已经通过使用这个肮脏的黑客解决了我的问题: ' Filter managerial functions ActiveSheet.Range("$A$1:$BW$2211").Auto
因此,我很难理解我需要遵循的标准,以便我的 Java 程序能够嵌入 HTML。我是否只需将我的主类扩展到 Applet 类,或者我还需要做更多的事情吗?另外,在我见过的每个 Applet 示例中,它都
我对在 Hibernate 中使用限制有疑问。 我必须创建条件,设置一些限制,然后选择日期字段最大值的记录: Criteria query = session.createCriteria(Stora
我有标准: ICriteria criteria = Session.CreateCriteria() .SetFetchMode("Entity1", FetchMo
我很难编写条件来选择所有子集合或孙集合为空的实体。我可以将这些作为单独的条件来执行,但我无法将其组合成一个条件。 类结构: public class Component { p
@Entity class A { @ManyToMany private List list; ... } @Entity class B { ... } 我想使用条件(不是 sql 查询)从 A
我的数据库中有以下表结构: Table A: Table B: Table C: _______________
请帮助我: 我有下一张 table : 单位 ID 姓名 用户 ID 姓名 利率 单位 ID 用户 ID 我不明白如何从 SQL 创建正确的条件结构: 代码: SELECT * FROM Unit W
我正在构建一个包含项目的网站,每个项目都有一个页面,例如: website.com/book/123 website.com/film/456 website.com/game/789 每个项目都可以
我需要使用两个属性的组合来过滤结果列表。一个简单的 SQL 语句如下所示: SELECT TOP 10 * FROM Person WHERE FirstName + ' ' + LastName L
我有一个“ super 实体”SuperEntity 和三个扩展父类(super class)的实体 ChildEntity1、...、ChildEntity3。 搜索数据库中的所有实体很容易,即我们
我是一名优秀的程序员,十分优秀!