C++ C+的新功能+;,签名定义
我有一个用C++编写的函数:C++ C+的新功能+;,签名定义,c++,C++,我有一个用C++编写的函数: foo (IN bool someMode = false) 这是什么意思? someMode是否总是初始化为false?即使使用true调用foo?这意味着即使foo接受一个参数,也可以调用此函数,而不传递任何参数,如下所示: foo(); //ok 如果您这样调用,那么someMode值将是false,因为这是它的默认值someMode=false在函数签名中,如果没有传递任何参数,则someMode将为false。在编程中,这样一个参数被称为默认参数,在
foo (IN bool someMode = false)
这是什么意思?
someMode是否总是初始化为false?即使使用true调用foo?这意味着即使
foo
接受一个参数,也可以调用此函数,而不传递任何参数,如下所示:
foo(); //ok
如果您这样调用,那么someMode
值将是false
,因为这是它的默认值someMode=false
在函数签名中,如果没有传递任何参数,则someMode
将为false
。在编程中,这样一个参数被称为默认参数,在此上下文中,false
被称为参数的默认值
但是,如果您愿意,可以传递参数:
foo(false); //ok
foo(true); //ok
这意味着即使
foo
接受一个参数,您也可以调用此函数,而无需传递任何参数,如下所示:
foo(); //ok
如果您这样调用,那么someMode
值将是false
,因为这是它的默认值someMode=false
在函数签名中,如果没有传递任何参数,则someMode
将为false
。在编程中,这样一个参数被称为默认参数,在此上下文中,false
被称为参数的默认值
但是,如果您愿意,可以传递参数:
foo(false); //ok
foo(true); //ok
这是一个默认参数,如果调用:
foo();
然后someMode仍然存在,并设置为false,但是如果调用
foo(true);
然后someMode将为true。这是一个默认参数,如果调用:
foo();
然后someMode仍然存在,并设置为false,但是如果调用
foo(true);
然后someMode将为true。通常
中的是一个不执行任何操作的宏,它只让您知道一个参数是函数的输入,因此您真正拥有的是foo(bool someMode=false)
。剩下的是一个默认参数。这意味着您可以这样调用代码:
foo(true); // Here someMode=true
foo(false); // Here someMode=false
还是像这样
foo(); // Here someMode=false
通常
中的是一个不执行任何操作的宏,它只让您知道一个参数是函数的输入,因此您真正拥有的是foo(bool someMode=false)
。剩下的是一个默认参数。这意味着您可以这样调用代码:
foo(true); // Here someMode=true
foo(false); // Here someMode=false
还是像这样
foo(); // Here someMode=false
谢谢你,迈克尔!!感谢快速响应!!谢谢你,迈克尔!!感谢快速响应!!