这是一个面试考题而不是作业。测试已经完成。在C++中的默认参数有一些特殊的属性?
有关C++中默认参数的以下哪些声明是正确的?
A. Default Argument cannot be of a user-defined type.
B. Default Argument can never precede non-default arguments
C. Default Argument cannot be of pointer type.
D. Default Argument exist in global heap not function's stack
E. Default Argument are not considered for generating the function's signature.
我选B和E.这些是正确的吗?我不确定D是否也是正确的?
F - 永远不要使用默认参数 –
@JimRhodes:小心解释一下吗? –
@NicolBolas:这是一个笑话,但我从来没有使用过它们。我看到他们导致错误。如果你正在查看你不熟悉的代码,你可能没有意识到有更多的参数被传递给一个函数。 –