为什么该函数在声明为 int 时返回布尔值?
Why the function returns boolean when it's declared int?
我正在学习C++,之前有Java经验。我在cplusplus.com中发现了以下示例:
int CDummy::isitme (CDummy& param)
{
if (¶m == this)
{
return true; //ampersand sign on left side??
}
else
{
return false;
}
}
我的问题是:当我明确声明该方法为int
时,为什么它返回布尔false
?这在Java中是不可能的。示例的链接是:此处。
虽然函数的作者最好回答为什么函数会做它所做的事情的问题,但很容易解释为什么C++允许这样的函数编译而没有问题。
在C++中,bool
是一个基本积分类型,因此它可以自由地转换为一个数:true
变为1
,false
变为零。
这只是隐式转换的一个实例。在c++中,1
和true
(也是0
和false
)是相同的东西。
你也可以做一些类似的事情
while (1)
//Infinite loop
或
bool b = false;
if (b == 0) {
//This is reached
}
else {
//This is not
}
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 如何使用返回布尔值的函数?
- 返回布尔值在 cocos2dx 的 onTouchBegan() 中是什么意思?
- 在开关情况下返回布尔值
- 让二传手返回布尔值是好习惯吗?
- 从 lambda 表达式返回布尔值时出错
- 在 if 语句中返回布尔值的 lambda 表达式
- Windows HANDLE RAII 管理,如果返回布尔值而不是句柄怎么办?
- 读者班级游戏板:正确返回布尔值
- 试图返回布尔值时,程序崩溃
- 如何使用 boost::bind 将返回 int 的函数转换为返回布尔值的函数
- 返回布尔值的函数的命名约定是什么
- 函数返回布尔值,只设置整个寄存器的1个字节
- 返回布尔值时,为什么要使用"!!
- 从成员变量指针返回布尔值
- 从 Circle 类返回布尔值 C++
- 返回布尔值
- C++如何使用返回布尔值的函数来确定素数
- 让函数返回布尔值和地址?C++
- 不让我返回布尔值给函数