在函数声明中分配参数值?

Ole*_*siy 3 c++ parameters constructor

我不明白为什么在这个构造函数声明中,输入参数被分配为2。

这是什么意思?这是否意味着默认情况下(除非传递其他内容),大小将为 2?

Graph(int size = 2);
Run Code Online (Sandbox Code Playgroud)

我从来没有见过这样的语法,所以我什至不知道如何谷歌它:/

提前致谢!

mad*_*tya 5

你是对的,默认情况下参数值是2。

所以你可以正常调用它:

Graph g(5);
Run Code Online (Sandbox Code Playgroud)

在这种情况下size将等于 5,

或者您可以在不提供值的情况下调用它:

Graph g;
Run Code Online (Sandbox Code Playgroud)

在这种情况下size将等于 2。

注意:Graph g();实际上是函数声明,而不是构造/初始化。C 和 C++ 允许您在其他函数内声明函数。是一个不带参数并按值返回对象Graph g();的函数的声明。gGraph