从masonry中学到的c++and关键字
来源:互联网 发布:java程序员证书 编辑:程序博客网 时间:2024/04/29 22:39
戴维营教育原创文章,转载请注明出处。我们的梦想是做最好的iOS开发培训!
一直在用Masonry对视图进行自动布局(AutoLayout),它的串联设置的方式很方便,多个相同的约束条件可以用and进行连接。今天@大茶园丁在测试MobileVLCKit时突然发现and变红了,貌似是一个关键字,并且编译也通不过。于是百度确认了一下,结果在@余璜同学的博客上早就介绍了(顺便汗颜了一下,一直说的坚持写博客)。
[v mas_makeConstraints:^(MASConstraintMaker *make) { v.left.and.right.equalTo(@20);}];
一、C语言
其实在C语言中就已经定义了许多宏,用来增加一些运算符的可读性,只是用的人比较少(iso646.h)。我们只要包含这个头文件就可以使用and、or之类的作为运算符了。
#ifndef __ISO646_H#define __ISO646_H#ifndef __cplusplus#define and &&#define and_eq &=#define bitand &#define bitor |#define compl ~#define not !#define not_eq !=#define or ||#define or_eq |=#define xor ^#define xor_eq ^=#endif#endif /* __ISO646_H */#include <stdio.h>#include <iso646.h>int main(int argc, char *argv[]) { int a = 0; int b = 1; //使用and代替&& if(a and b) { printf("真\n"); } else { printf("假\n"); } return 0;}
直接用clang进行编译。
$ clang keywords.c -o keyword$ ./keyword假
二、C++
不过在C++中就更简单了,直接成为了关键字,使用它们的时候不需要添加任何头文件。
#include <iostream.h>int main(int argc, char *argv[]) { int a = 0; int b = 1; //使用and代替&& if(a and b) { std::cout << "真" << std::endl; } else { std::cout << "假" << std::end; } return 0;}$ clang keywords.cpp -o keyword$ ./keyword假
参考资料
https://zh.wikipedia.org/wiki/C替代标记
戴维营学院(高级开发视频): http://v.diveinedu.com
潜心俱乐部(iOS面试必备): http://divein.club
0 0
- 从masonry中学到的c++and关键字
- 从生活中学到的
- 从dota中学到的
- 从面试中学到的
- 从《循环的代价》中学到的
- 从两个团队中学到的
- [Java]从一个Updater中学到的
- 从一个项目中学到的
- 从yii权威指南中学到的
- 从一个递归程序中学到的
- 关于BroadcastReceiver从SDK中学到的
- 从《亮剑》中学到的管理方法
- C语言中%*[^\n]的重要用途(从JM8.6解码器中学到的)
- 转:从《The C Programming Language》中学到的那些编程风格和设计思想
- 转:从《The C Programming Language》中学到的那些编程风格和设计思想
- C#中学到的几个重要的关键字
- 从真正的程序员中学到的东西。
- 从华为的demo代码中学到的
- theano——Graph Structures
- charles使用教程
- SqlServer关闭与启用标识(自增长)列
- MyBatis中文使用文档
- python 关于yield, generator, iterable
- 从masonry中学到的c++and关键字
- 数据库主码、外码
- 黑马程序员——C基础之文件操作
- 绑定鼠标滚轮上下滚动事件
- Spring mvc 实例 --JSTL结合EL实现JSP获取后台List回显界面
- 戴维营教育ios笔试题一
- 微信支付,服务端代码
- jeecg快速开发框架资料及视频地址
- 黑马程序员——C基础之枚举类型