C++的新特性,签名定义
New to C++, signature definition
我有一个用C++编写的函数:
foo (IN bool someMode = false)
这是什么意思?someMode是否总是初始化为false?即使foo是用true调用的?
这意味着即使foo
接受一个参数,您也可以在不传递任何参数的情况下调用此函数:
foo(); //ok
如果这样调用,那么someMode
的值将是false
,因为这是其默认值。函数签名中的someMode = false
意味着,如果没有传递参数,那么someMode
将是false
。在编程中,这样的参数被称为默认参数,并且在此上下文中的false
被称为该参数的默认值。
然而,如果您愿意,您可以传递参数:
foo(false); //ok
foo(true); //ok
这是一个默认参数,基本上,如果您调用:,则可以省略它
foo();
那么someMode仍然存在,并设置为false,但如果您调用
foo(true);
则someMode将为true。
通常IN
是一个什么都不做的宏,只是让您知道参数是函数的输入,所以您真正拥有的是foo(bool someMode=false)
。剩下的是一个默认参数。这意味着你可以这样调用代码:
foo(true); // Here someMode=true
foo(false); // Here someMode=false
或者像这个
foo(); // Here someMode=false
相关文章:
- 如何在C++中为 if 和 else 语句定义新行为
- 如何从 C++ 中的现有模板函数定义新函数
- 如何在CPropertySheet中定义新颜色
- 谁定义新操作员
- C 通过Typedef定义新类型
- c++11新特性,正确使用shared_ptr
- wxWidgets 3.0-新特性和功能,添加和替换不推荐使用的特性和功能
- 使用带有Eigen库的自定义新处理程序
- 定义新的优化类型
- C# 如何定义新的指针结构
- 为模型定义新角色后程序崩溃
- C++使用类来定义新类型
- C++的新特性,签名定义
- 如何为自定义BLE特性添加名称和ID属性
- c/c++的新特性,容易与指针混淆
- c++新特性,函数后不返回值,calc.cpp
- Qt:在按钮点击上添加自定义新选项卡
- 在哪里可以找到有关c++ 11、std新特性和Tr1的可靠信息?
- double while, c++中的新特性
- 定义新的中缀操作符