首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我调用一个只有一个bool类型的参数的函数时,bool参数的值是什么?

当我调用一个只有一个bool类型的参数的函数时,bool参数的值是什么?
EN

Stack Overflow用户
提问于 2020-02-26 19:22:31
回答 2查看 86关注 0票数 0

我只是想知道成员函数的bool参数的值是多少,当函数被调用时没有传值?

它是假的吗?为什么它是假的?

代码语言:javascript
复制
bool CSVread::Reset( bool partial_reset /* = false */ )  

则将reset调用为

代码语言:javascript
复制
obj.reset()

没有传递任何参数,那么partial_reset的值是什么?为什么?在visual studio中它是假的,但是为什么呢?

对于函数参数,我找不到布尔值的任何定义为假?

函数参数不是函数作用域的一部分,所以它应该是自动存储的,因此它的默认值是未定义的?

EN

回答 2

Stack Overflow用户

发布于 2020-02-26 20:42:28

默认情况下,它不会被初始化,因此它可能是真的,也可能是假的,这取决于内存中的垃圾值。

有关更多信息,请参阅此答案:Why is a C++ bool var true by default?

顺便说一下,使用接受参数而不给出参数或缺省值的函数不是一种好的做法。除非您有惰性编译器选项,否则这将导致编译错误

票数 1
EN

Stack Overflow用户

发布于 2020-02-26 19:27:28

默认情况下,除非将每个布尔值更改为其他值,否则每个布尔值都为false。

https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/default-values

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60412794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档