热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Objective-CTRUE/FALSEvstrue/false

如何解决《Objective-CTRUE/FALSEvstrue/false》经验,为你挑选了1个好方法。

在Objective-C中,我们有不同的关键字来评估布尔值.我们有YES/NO,TRUE/FALSE(c99) true/false.我很了解BOOLvs bool,这篇文章奇妙地解释了这些差异:

http://www.bignerdranch.com/blog/bools-sharp-corners/

那么什么YES/NO意思不是我的问题.我的问题是,TRUE/FALSE和之间有什么区别true/false?大写版本是别名YES/NO还是别名(c99) true/false?或者,它是另一种动物(像YES/NO)?



1> rob mayoff..:

YESNO标识被认为是标准的Objective-C的文字的BOOL.您通常不会找到YES,NOBOOL在Objective-C源代码之外.请注意,这些标识符实际上是在中定义的宏objc/objc.h.

truefalse标识是标准C99(正如你指出),如果你#include .请注意,由于您使用的是Objective-C stdbool.h,即使您不知道,也可能间接包含它.例如,Foundation.h包括CoreFoundation.h,包括stdbool.h.因此很难编译现代的iOS或Mac应用程序而没有得到truefalse.

TRUEFALSE标识不规范.它们是各种图书馆定义的历史包袱.这些库可能是在C99出现之前编写的,或者是为了支持C99之前的编译器而编写的,或者只是由不了解C99布尔文字的作者编写的.在Mac上,此类库的一些示例是Kerberos,XDR/RPC和ncurses.最重要的是,Mach内核头文件定义TRUEFALSE常量,并且(如同stdbool.h)如果你正在构建一个现代的iOS或Mac应用程序,很难避免这些特定的定义.

在所有的情况下,我能找到的,TRUE被定义为1(1)FALSE被定义为0(0).

(我提到的所有库和Mach内核都早于C99,因此在定义它们自己的布尔常量时是合理的.)


推荐阅读
  • c语言自定义BOOL函数C语言没有BOOL类型变量boolean类型是C++所独有的由于使用BOOL类型可以使代码更具有可读性,很多编程者都在C中自己定义了类似的应用,一般方法有两 ... [详细]
  • 开发环境_VS2013+WDK8.1 驱动开发环境搭建
    本文由编程笔记#小编为大家整理,主要介绍了VS2013+WDK8.1驱动开发环境搭建相关的知识,希望对你有一定的参考价值。WindowsDriverKit是一种完全集成 ... [详细]
  • 下载器,就是一种网络工具,从网络中接收自己想要的数据。下载器是一个网络客户端。它的下载流程无非就是客户端连接服务器端,然后发送资源下载请求 ... [详细]
  • Matlab中利用mex编译Opencv实现画板绘图功能
    图形绘制是标记和可视化数据的重要方法.通过在Matlab中集成画板绘图功能,可为科学计算提供便利.1设置Matlab支持Opencv编译操作系统:麒麟14.04(基于Ubu ... [详细]
  • 编译lib手动编译cmake编译gtest测试程序断言和caseFixture使用gmock编译gmock测试程序参考GtestGithub使用gtest(gmock)方便我们编写 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • ! Configuration File for keepalivedglobal_defs {   notification_email {     ... [详细]
  • 原文地址:http:dogdogcom.blog.51cto.com2402458490398tcpdump-a将网络地址和广播地址转变成名字;-d将匹配信息包的代码以人们可以理解 ... [详细]
  • 在ROS系统中,参数读写一般通过xml或者yaml格式的文件,其中yaml用得比较多。这是一种可读性高,轻量级的标记语言,简单好用。对于yaml文件,ros中用的较早版本的yaml- ... [详细]
  • UDP协议开发
    UDP是用户数据报协议(UserDatagramProtocol,UDP)的简称,其主要作用是将网络数据流量压缩成数据报形式,提供面向事务的简单信息传送服务。与TCP协议不同,UD ... [详细]
  • 让SQL Server 2008默认使用Report Builder 2.0做报表设计器
    由于SQLServer2008比ReportBuilder2.0先发布,所以默认情况下,在SSRS2008中的报表管理器中单击“报表生成器”,打开的是ReportBuilder1.0版本 ... [详细]
  • 开发笔记:python安装出现的证书问题
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了python安装出现的证书问题相关的知识,希望对你有一定的参考价值。1. pipins ... [详细]
  • 使用临时文件tmpnam该函数的功能是产生一个唯一的文件名系统回味该文件分配一块内存来保存临时变量例如下面的代码#includeintmain(){charnam ... [详细]
  • *Copyright(c)2016,烟台大学计算机与控制工程学院Allrightsreserved.文件名称:字符串加密.cpp作者:彭友程完成日期&# ... [详细]
  • 本文为转载,原连接:https:www.zhihu.comquestion40822826简单说一下吧做要解释这些要从netconf说起。netconf ... [详细]
author-avatar
陆星星陆星星风_586
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有