c++ - C++标准中Should和Shall的确切含义

标签 c++ standards

我一直在审查 C++ 标准 03 版本。我开始对 ShouldShall 这两个词的含义感到困惑。

标准中的

Shall 似乎表示强制要求(将有),而标准中的“应该”似乎表示可选要求(可能有) .在英语中,Should 表示期望,我误解了意思吗?不应该可以代替吗?

最佳答案

来自 ISO TR 10176,信息技术 - 编写编程语言标准的指南:

3.7 本文中使用的助动词

3.7.1 :
表明对编程语言标准或处理器的要求。

3.7.2 应该:
对编程语言标准或处理器的建议。

3.7.3 可能:
表示编程语言标准或处理器的可选特性。当本技术报告为支持特定可选功能的编程语言标准提供建议时,在解释条件的句子中使用助动词“可能”。

这是 2002 年的版本,当前的版本是 2003 年,但我认为它没有太大变化。 (目前的版本似乎是 150 欧元,有点贵。我在这里找到了 2002 年的版本:http://std.dkuug.dk/jtc1/sc22/wg20/docs/n970-tr10176-2002.pdf。)

关于c++ - C++标准中Should和Shall的确切含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565489/

相关文章:

c++ - 为什么会有单独的 "trie_node"和 "trie"结构?

C++11 和缺少多态 lambda - 为什么?

css - 在 CSS 中为 ID 和类添加元素类型前缀

c++ - 将自定义数据传递给 MPxLocator (Maya API) 的属性

c++ - 在 C++ 标准中通过指向函数的指针传递数组的严格规则背后的原因

c++ - 关于 C++ 标准中的第 12.7p3 段,我有以下问题

javascript - jquery 滚动事件多次运行代码

c++ - 启动时清除文件内容,然后追加

c++ - 标准是否保证了 lambda 的可继承性?

c++ - C++ 函数模板是否鼓励弱类型化?