在得到错误答案之后,因为我没有达到C标准的最新状态,所以我开始寻找一些可以描述C和C ++标准中最新的地方。
我不想要完整的标准,我找到了链接 我在哪里可以找到当前的C或C ++标准文档?,或亲密的技术讨论。相反,我想要简要描述标准的东西,如果我想更彻底地检查它,可能会参考实际标准,并且可能会说明引入了哪个标准。
有这样的资源吗?
编辑:问题的一个小背景:我已经编程C超过20年了,当我学到它时,标准化程度不高。官方标准中没有广泛实施的内容。多年来,我已经成为一名优秀的C程序员,当我们的朋友和学院遇到问题时,我会帮助我。
然而,当我学习C时,我被告知像多维数组的内存布局这样的东西是特定于实现的,当我看到关于该主题的问题时,我说它不是标准化的,只是被告知我错了。但即使知道这一点,我也很难找到任何地方说它符合标准,而且更难以找到它首先引入的标准。
如果有一些地方说“多维数组的内存布局在C9x中被标准化,在标准文档的Y部分中”很容易找到并将其提供给提出问题的人。我对实际的布局并不感兴趣,只是它已经标准化了,在哪里看看我是否真的想要一个明确的答案。
这当然适用于其他事情。就像知道头文件一样“<yyy.h>
“标准”C90“强制要求,在标准中我应该寻找它的基本原理和内容。当它们展开时很难找到这些东西,将它收集在一个地方会使它变得容易找到。
什么都有 不 标准要么不是确定的,要么简化为远远不够有用的方式。任何确定或真正有用的东西基本上都是 是 标准。
我知道没有资源以简化的方式涵盖C标准的每个部分(或者甚至是相当数量的部分),我怀疑它的用处。你通常有一个 具体 您需要解决的问题,在这种情况下,您将搜索该特定问题 - 绝大多数人不会 需要 标准,特别是当他们有触手可及的SO资源时。
如果你是一个语言实现者,或者喜欢用难以捉摸的细节来检查语言的黑暗角落,那么是的,获得标准,这是非常宝贵的。如果你只是日常使用这种语言(即使是作为专家),你也可以在没有它的情况下使用它,只需要一点谷歌搜索 (一个)。
(一个) 确保其中一个搜索字词是 site:stackoverflow.com
:-)
我猜你已经熟悉了旧的标准,并希望了解较新的不太常用的东西。
这是C99的一个很好的阅读。 它涵盖了变化并具有实际标准的注释。还有一些关于C ++的东西。
维基百科非常适合C ++ 11。 非常适合基础知识,但不详细介绍。
如果您完全理解该语言,那么您通常可以推断出该标准。对于奇怪的角落情况,你将不得不参考标准。
我认为其他一些人回答这个问题是正确的:除非你正在编写编译器或类似的东西,否则很少需要最终权威的ISO标准文档。对我来说,我发现语言创作者对两种语言的主要书籍几乎满足了我的所有需求。他们是:
C程序设计语言 作者:Brian Kernighan和Dennis Ritchie
C ++编程语言 作者:Bjarne Stroustrup
查看每个版本的最新版本,尽管在亚马逊上的快速搜索显示最新版本的语言(C99和C ++ 11)都没有更新。您可能需要补充在线资源,或者查看 A C Primer Plus 和 专业C ++。