10-动态类型检查
1、动态绑定
1)OC 中方法的调用不由编译器决定,而由运行时决定
2)OC 中没有方法调用,只有消息接收. 一般称消息为选择器
2、动态类型检查
对象在运行时获得类型的能力称为内省,如果在代码中想知道对象是否具有指定方法,可以使用:
1)判断类型或父类类型
-(BOOL)isKindOfClass:(Class)Obj
判断一个对象是不...
分类:
其他好文 时间:
2015-08-10 00:29:57
阅读次数:
124
关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const呢,我想事物的存在一定有它自己的道理,所以说const的存在一定有它的合理性,与预编译指令相比,const修饰符有以下的优点:
1、预编译指令只是对值进行简单的替换,不能进行类型检查
2、可以保护被修饰的东西,防止意外修改,增强程序...
分类:
编程语言 时间:
2015-08-09 09:32:45
阅读次数:
116
这里我们学习一下define和inline关键字的用法,以及它们的区别。
define:定义预编译时处理的宏,只是简单的字符串替换,无类型检查。
inline:1、inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义,编译阶段完成。 2、内联函数要做类型安全检查,inline是指嵌入代码,在调用函数的地方不是跳转,而是把代码直接写到那里...
分类:
其他好文 时间:
2015-08-06 13:19:56
阅读次数:
98
以下内容为部分C++基础知识点:1、C++特点C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不一样。在各自的领域,谁也不能替代谁。C++相对于C主要有如下特点:类型检查更为严格增加了面向对象的机制增加了泛型编程的机制增加了异..
分类:
编程语言 时间:
2015-08-06 02:11:24
阅读次数:
179
我们知道,javascript是一种弱类型的语言,并且,javascript中的一切实质上都是对象。那么,在javascript中如何进行对象的类型检查将是一个非常重要的话题。这里,我将介绍两种在js中经常使用的用于类型检测的方法。第一种方法是使用"typeof"操作符,这种方法可能大家都知道。使用...
分类:
编程语言 时间:
2015-08-02 16:40:51
阅读次数:
197
static_cast ( expression )与reinterpret_cast (expression)的区别
1. static_cast ( expression )
该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:
①用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。
进行上...
分类:
其他好文 时间:
2015-07-31 10:35:16
阅读次数:
179
const变量
const变量有三种出现的位置
关键的一点是:const关键字的目的是说明变量不能被修改或更新,所以定义时必须初始化
1、全局const变量
在进程内存那篇文章我们说过,全局的只读变量(const)被放在代码段,也可以说是只读数据段const int i =0; const全局变量是一定要初始化的,否则会编译错误。初始化后,编译器在类型检查后直接用0在编译时替换。
con...
分类:
其他好文 时间:
2015-07-23 13:58:03
阅读次数:
143
1:java泛型的好处是可以实现类型检查,比较安全,可以实现功能的扩展化,增强功能。2:泛型的概念就是参数化的类型,相当于方法中的形式参数一样,先做一个占位符然后再在使用的时候传递真正的参数进去。3:package generic;/** * 自定义泛型类 * @author PC * */publ...
分类:
编程语言 时间:
2015-07-21 01:24:27
阅读次数:
203
公司一款手持终端,是在老产品代码的基础上研发,经常发生死机问题,死机原因很大部分是代码不严谨导致,今天排查遇到一个整型溢出导致的死机问题:在foo.c文件中定义有charg_sds_length=0;在foo.h文件中声明为externcharg_sds_length;但是在bar.c中有定义有voidapi_sds_rec_ha..
分类:
其他好文 时间:
2015-07-17 07:15:03
阅读次数:
128
typedef是一种在计算机编程语言中用来声明自定义数据类型,配合各种原有数据类型来达到简化编程的目的的类型定义关键字。#define是预处理指令。1. 首先,二者执行时间不同关键字typedef在编译阶段有效,由于是在编译阶段,因此typedef有类型检查的功能。Define则是宏定义,发生在预处...
分类:
其他好文 时间:
2015-07-10 18:49:14
阅读次数:
103