指定arg。函数定义中的值

时间:2012-06-29 14:36:04

标签: c++

我完全错过了什么。我们如何简单地将值放在函数的定义行中。如果是这样,如果我们已经预定义它,那么传递值是什么意思。 像这样:

node( unsigned char c = 0, int i = 0)

奇怪的是这段代码运行并正确执行。 (Visual Studio 2010)。

它与const函数有关吗?但是后来没有提到常数。

或类似的东西:

void traverse(string code="") const

但早先的定义不是常识。

1 个答案:

答案 0 :(得分:2)

  

node(unsigned char c = 0,int i = 0)

这些是默认参数。这意味着您可以在代码体中编写node()而不是node(0,0)node('x')而不是node('x',0)。没有什么可以阻止你使用node('x', 2)。在这种情况下,node将收到'x'2作为ci的值。