C++ 从哪个版本的C++;是否允许使用默认参数?
例如:C++ 从哪个版本的C++;是否允许使用默认参数?,c++,c++11,C++,C++11,例如: void foo(int a,int b=12) { ... } < P>这是合法的,所有C++标准化版本,从C++ 98开始。 < P>我在1991开始使用C++,默认参数出现在Borland C++ V3.0中,也在Stanley Lippman的书C++ C++第二ED(也1991)中出现。我想这符合“合法”的条件——或者说当时是这样
void foo(int a,int b=12) {
...
}
<什么版本的C++是合法的?在C++ 11中引入了吗?< /P> < P>这是合法的,所有C++标准化版本,从C++ 98开始。 < P>我在1991开始使用C++,默认参数出现在Borland C++ V3.0中,也在Stanley Lippman的书C++ C++第二ED(也1991)中出现。我想这符合“合法”的条件——或者说当时是这样
换句话说,从时间的黎明以来,C++的每个版本都支持默认参数。
换言之:从字面上说永远:)即使在第一个C++标准之前,它应该是合法的。在它被标准化之前,代码是“合法”的概念是有点可疑的,因为它通常被用作代码遵循标准的速写。虽然我确实知道你从哪里来。@ Lexness CraceSein轨道,而关于标准C++的设计和进化的讨论当然是有趣的,我觉得这与问题无关。特别是提到C++ 11,(对我来说)C++中的官方(如标准化的)版本是被要求的。这就是说,经过调整的措辞是否解决了你观点中的歧义?@ArneVogel Heh,是的,这是故意的。:)无论如何,我不认为关于“合法”的标准前的C++的争论是需要的或有助于这个Q/A的范围。当我读它时,有人问是否在C++ 11中引入了一个特性,它更感兴趣于哪个标准(S)精确地提供它,而更少的涉及到它的标准。因此,在我的答案中,对标准化版本的关注很简单。因为我永远…我想我已经用C++太久了。我的第一个想法是“你为什么还要问?”。但总的来说,这不是一个无效的问题。自从1979年的C级考试以来,在人们回答评论部分的问题之前