关键字const:a.const是用来定义只读变量的,切忌它定义的是变量,不是常量,真的常量是#define的和enum。b.在陈正冲老师的这本书中的第35页,有说编译器不为普通const只读变量分配内存空间,而是将它们保存在符号表中,这使得它成为一个编译期间的值,没有了存储与读内存的操作,使得它的...
分类:
其他好文 时间:
2014-09-25 10:14:58
阅读次数:
235
首先先解释下什么是静态常量以及什么是动态常量。静态常量是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。动态常量的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。const修...
分类:
其他好文 时间:
2014-09-21 15:42:30
阅读次数:
192
本篇体验静态变量、静态构造函数和静态类。 静态变量 静态变量位于栈上,它是一个全局变量,在编译期就已经生成。 public class Cow { public static int count; private int id; public Cow() { id = ++count; ...
分类:
其他好文 时间:
2014-09-17 10:09:12
阅读次数:
265
C# 4的动态功能是Dynamic Language Runtime(动态语言运行时,DLR)的一部分DLR是添加到CLR的一系列服务dynamic类型允许编写忽略编译期间的类型检查的代码有了ScriptRuntime,就可以执行存储在文件中的代码段或完整的脚本。启动ScriptRuntime 需要...
分类:
其他好文 时间:
2014-09-16 17:17:50
阅读次数:
203
@synthesize
除非开发人员已经做了,否则由编译器自动生成getter/setter方法。
当开发人员自定义存或取方法时,自定义会屏蔽自动生成该方法。
@dynamic
告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告。
是由开发人员提供相应的代码:对于只读属性需要提供 setter方法;对于读写属性需要提供 setter 和 getter方法。...
分类:
移动开发 时间:
2014-09-16 01:35:29
阅读次数:
204
鸭子类型:“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。” 一般在动态语言里面才有,因为静态语言是强类型的,会在编译期检查类型,很难实现。但是Scala作为一门s...
分类:
其他好文 时间:
2014-09-15 23:00:39
阅读次数:
415
使用final关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。例如,对于如下语句:finalStringBuffera=newStringBuffer("immutable");执行如下语句将报告编译期错误:a=newStringBuffer("");但是,执行...
分类:
其他好文 时间:
2014-09-12 11:48:43
阅读次数:
123
类型安全代码只访问被授权可以访问的内存位置。(在本讨论中,类型安全特指内存类型安全,不应与范围更广的类型安全混淆。)例如,类型安全代码不能从其他对象的私有字段读取值。它只以定义完善的允许方式访问类型。在实时 (JIT) 编译期间,可选的验证过程检查要实时编译为本机代码的方法的元数据和 Microso...
分类:
其他好文 时间:
2014-09-10 22:20:41
阅读次数:
270
/**
* 书本:【ThinkingInC++】
* 功能:编译期间类里的常量
* 时间:2014年9月10日08:32:56
* 作者:cutter_point
*/
#include
#include
using namespace std;
class StringStack
{
static const int size=100; //所有的对象共享且不变的数据
c...
分类:
编程语言 时间:
2014-09-10 09:40:10
阅读次数:
195