Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么会有一些过眼烟云的提及;“功能原型”;在C++;11? 当然,这些不';t存在于C+中+;_C++_Language Lawyer - Fatal编程技术网

C++ 为什么会有一些过眼烟云的提及;“功能原型”;在C++;11? 当然,这些不';t存在于C+中+;

C++ 为什么会有一些过眼烟云的提及;“功能原型”;在C++;11? 当然,这些不';t存在于C+中+;,c++,language-lawyer,C++,Language Lawyer,C++11标准对“函数原型”进行了几次顺便提及 相关特征的任何定义中都没有,但在随机的地方,如: [C++11:3.3.4]中的“函数原型范围”(其定义实际上承认它在谈论“函数声明”) [C++11:17.5.1.4/1]中库类型定义条款的编辑说明,脚注175(似乎是指C功能) [C++11:20.9.4.3/6]它描述了假设的模板typename add\u rvalue\u reference::type create()作为“功能原型” 在[C++11:20.9.6/4]中也有同样的内容

C++11标准对“函数原型”进行了几次顺便提及

相关特征的任何定义中都没有,但在随机的地方,如:

  • [C++11:3.3.4]
    中的“函数原型范围”(其定义实际上承认它在谈论“函数声明”)
  • [C++11:17.5.1.4/1]
    中库类型定义条款的编辑说明,脚注
    175
    (似乎是指C功能)
  • [C++11:20.9.4.3/6]
    它描述了假设的
    模板typename add\u rvalue\u reference::type create()作为“功能原型”
  • [C++11:20.9.6/4]
    中也有同样的内容
  • 附录
    [C++11:C.1.7]
    讨论了C中的声明器:“使用C不完整声明样式的函数声明必须完成才能成为完整的原型声明,然后是后面的“基本原理:原型对类型安全至关重要”
…就这样

当然,我们是在“声明”/“定义”术语上,并且由于C++标准在其核心定义中不使用“原型”术语,这些只是键入/不一致,因为一些编辑器熟悉C术语,所以引入了/不一致。


还是我遗漏了一些微妙的含义?

是和否。我认为“原型”的某些用法是有意义的,但其他用法确实应该改为“声明”

  • 我同意§3.3.4/1应讨论“功能声明范围”,而不是“功能原型范围”
  • < L> > 7.5.1.4是关于C++标题的,所以我认为它应该使用“声明”而不是原型。 脚注175具体指的是C标题所提供的内容,因此我认为使用C术语(即继续使用“原型”可能是合适的,虽然可能有附加说明,这相当于C++声明)。
  • 我同意在§20.9.6/4和§20.9.4.3/6中使用“原型”都是错误的,应该使用“声明”
  • C.1.7是专门比较C到C++的,在C中讨论声明与原型,以及它们如何与C++声明比较,因此几乎需要保留“原型”的使用才有意义。

关于“原型”(或相关特征)的定义,ISO9899:1999(通过TC 3)是C++标准的规范参考,所以它的定义“原型”可以应用,因为C++标准本身不提供任何。

C原型如何“有很大不同”?在C中,原型是一个指定类型的函数声明。在C++中,所有函数声明都是这样做的。@基思:C原型支持标识符列表和各种奇怪的魔术,包括完全省略参数(或者是没有原型的声明)?如果没有别的,C++标准调用它们函数声明,所以有一小部分通过不同术语的引用是很奇怪的。“我想你们有这个。对不起,懒得找比JeyycFin更规范的东西:@答案可能是委员会成员不像你那样有肛门保持力:P@Praetorian:更规范的内容:6.2.1p2:“函数原型是一个函数的声明,用于声明其参数的类型。”