转载自 http://xiaochongzhang.me/blog/?p=283; 动态类型和静态类型 静态类型:静态类型是我们可以通过源代码就能确定的类型,而不用管运行时的类型,比如 int a = 1;我们知道a 的类型是int型。 动态类型:动态类型的实际类型是代码在运行时才知道其类型,例如有...
分类:
编程语言 时间:
2014-10-16 19:50:33
阅读次数:
233
38.绝不要重新定义继承而来的缺省参数值。
重新定义函数缺省参数值意味着重新定义函数,而非虚函数不能重新定义,所以将就考虑不能重新定义虚函数的缺省参数值的原因:虚函数是动态绑定的而缺省参数值是静态绑定的。
静态类型是指程序中声明的类型,而动态类型是指实际对象的类型,举个栗子:
class A{
public:
virtual void fun(int a=0) const{cout<<...
分类:
编程语言 时间:
2014-10-09 21:23:27
阅读次数:
213
类型检查(type checking)是指确认任一表达式的类型并保证各种语句符合类型的限制规则的过程。...
分类:
其他好文 时间:
2014-09-30 22:06:00
阅读次数:
171
1.RPP以静态类型为主,最终的效率肯定比动态类型的lua要高,并且不会引起GC停顿。(目前与luaJIT性能接近)
2.RPP没有GC(自动垃圾回收),与C/C++互相调用简单直接,而且他们共享进程内存空间,RPP变量和C++变量生命周期相同,不会出现像lua一样的这里变量已经GC了那边还在使用。
3.RPP目前兼容50%的C++语法,70%的C语法,因此它天生就更亲近C++系的语法,所...
分类:
其他好文 时间:
2014-09-27 23:19:20
阅读次数:
479
对于静态类型语言,其本质目标在于恰当地操作数据,得到期望的值。具体而言,需要:(1)定义数据类型你定义的数据是什么,是整形还是浮点还是字符。该类型的数据可以包含的值的范围是什么。(2)定义操作的含义操作是严格数据类型相关的。操作表明了对了一个具有特定类型的数据,执行操作后产生什么样结果。C++就是一...
分类:
编程语言 时间:
2014-09-07 12:18:55
阅读次数:
347
(1)一般的带有明显类名(静态指针)的都是静态类型,而用id的通用指针的都是动态类型;
(2)静态类型更容易阅读,更友好;
(3)一般不涉及多态的时候,尽量用静态类型。...
分类:
其他好文 时间:
2014-09-04 13:21:35
阅读次数:
203
UnityScript原先被官方称作用于U3D的JavaScript,但是较新一些的文档都已经叫做UnityScript了,虽然JS的语法在UnityScript中几乎都可以使用,但是UnityScript是一种具有静态类型检查且更加OOP的JS,所以完全可以把UnityScript当做一门新语言来学,当然,如果已经学会了JS,那么想学会UnityScript是相当快的。相比跑在浏览器上的JS,U...
分类:
其他好文 时间:
2014-08-28 19:48:45
阅读次数:
251
C++类型转换
const_cast,字面上理解就是去const属性。
static_cast,命名上理解是静态类型转换。如int转换成char。
dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多态类型转换。
reinterpret_cast,仅仅重新解释类型,但...
分类:
编程语言 时间:
2014-08-26 19:16:26
阅读次数:
245
虚函数是动态绑定而缺省参数值是静态绑定的,当基类和派生类对同一个虚函数设置缺省参数值时,只有基类的缺省参数值起作用。对象的静态类型是指你声明的存在于程序代码文本中的类型,对象的动态类型是由它当前所指的对象的类型决定的。即,对象的动态类型表示它将执行何种行为。虚函数是动态绑定的,意思是说,虚函数通过哪...
分类:
其他好文 时间:
2014-08-20 15:54:52
阅读次数:
144
sqlite3中的数据类型大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的、刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列。Sqlite使用一个更一般的动态类型系统,sqlite中,值的数据类型跟值本身相关,而不是与它的...
分类:
数据库 时间:
2014-08-17 02:27:15
阅读次数:
336