wzxhkrwby
wzxhkrwby
采纳率80%
2017-10-12 08:08 阅读 5.2k

c++ bool类型的函数问题

返回bool类型的函数感觉没什么用啊,完全可以用返回“0”和“1”的整型函数来代替?仅仅是为了直观一些表示该函数是用来判断对错的函数吗?还是有其他的考虑?
如果说的更大一点,true和false不就是非零数和0吗?不能都用数字代替吗?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    ForestDB ForestDB 2017-10-12 13:19

    作为老农,我个人还是比较习惯C中0为false,非0为true(把int当bool)的惯例的。
    然而,C中还有另一个惯例,函数返回0表示成功,返回非0表示错误。这样一来,如果两种风格的函数放到一起,就不容易很快的判断出来了。如果是用int表示bool的函数能直接用bool来表示返回值,那么一眼就能分辨出来了。

    另外,bool是个独一的类型,是会参与到函数重载解析中去的,这是将bool独立出来更有意义的原因。
    https://msdn.microsoft.com/en-us/library/tf4dy80a.aspx

    点赞 1 评论 复制链接分享
  • u013329580 明亮Lucky 2017-10-12 08:23

    0 1当然可以用来表示bool类型的true和false,但是按照你说的这样float类型岂不是能把int型也代替了?问题不能这样考虑,每种类型都是有意义的,占的字节数也是不一样的。好比说脸盆可以用来洗脸,脚盆用来洗脚,但是你非要把两个合起来既洗脸又洗脚,肯定也没啥问题。

    点赞 8 评论 复制链接分享
  • a19990412 肥宅_Sean 2017-10-14 02:03

    bool可以节省空间。在做算法题的时候,有时候,用bool就可以过了。但int就不一定。字长不一样

    点赞 3 评论 复制链接分享
  • jipengwang 在路上的通信旺 2017-10-12 09:08

    程序更加简洁易懂吧,一般在写代码的时候,C语言都会自己去typedef

    点赞 1 评论 复制链接分享
  • wumenglu1018 IronLavender 2017-10-12 12:38

    当然可以用非零数和0去代替啦,true和false一般用起来我觉得逻辑比较好,代码容易理解

    点赞 1 评论 复制链接分享

相关推荐