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