【发布时间】:2011-04-11 13:33:21
【问题描述】:
谁能从 ISO N3242 §3.2 第 4 点解释这个声明
n3242 与 ISO 标准 2003 相比的新增部分:
类类型
T必须是完整的,如果:
- 声明了
T类型的非静态类数据成员 (9.2),或者T用作 new-expression 中的对象类型或数组元素类型T类型是 alignof 表达式 (5.3.6) 的主题,或者- 异常声明的类型为
T,引用T,或指向T的指针
谁能解释当前 C++0x 标准草案的这一段?
在这些语句中添加这个的实际含义是什么?
任何人都可以借助示例/程序来解释这一点吗?
【问题讨论】:
-
您对这一段有什么困惑?这是您在短时间内关于 ODR 段落的第三个问题。您有更广泛的问题,还是有一些让您感到困惑的总体问题?这个特定的段落非常简单:它列出了需要完整类型的场景。你不知道什么是完整类型吗?您不了解其中一种情况吗?
-
@James:我正在尝试检查每一点......他们所说的......在c ++ 0x中。我有些不清楚......所以我正在寻求像你这样的程序员的帮助....
-
对,但你的问题是什么?这一段的哪一部分令人困惑?如果您发现引用的文本令人困惑,您可以从 a good introductory or reference C++ text 开始,而不是从标准草案开始。 C++ 标准非常密集。理解一个段落通常还需要理解另外 30 个段落,所有这些相关段落之间的相互关系并不总是很明显。
-
@James:以上几点如何证明是正确的......是的,你说的是对的。这就是我试图通过各种编程示例证明来理解每一点。所以如果我是无法证明我正在寻求帮助,并且我试图从帮助中理解那些......通过再次证明......
-
我强烈反对这个计划:买一本好的入门书来学习基础知识,买一两本参考书来更深入地学习语言。只有在您拥有良好的语言基础之后,您才应该开始研究 C++ 标准中的内容。这不是一个容易阅读的文本。由于您无法澄清您感到困惑的内容,因此除了“阅读标准的其余部分以在上下文中理解本段”之外,没有人可以回答这个问题。因此,这个问题不符合 Stack Overflow 上真正问题的标准。
标签: c++ c++11 standards one-definition-rule