Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C+的新功能+;,签名定义_C++ - Fatal编程技术网

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。在编程中,这样一个参数被称为默认参数,在

我有一个用C++编写的函数:

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

谢谢你,迈克尔!!感谢快速响应!!谢谢你,迈克尔!!感谢快速响应!!