c语言中:局部静态变量外部静态变量c++中:局部静态变量外部静态变量/函数静态数据成员/函数1、局部静态变量static局部静态变量存储于静态存储区,在程序运行期间不释放,跟局部变量相比,作用域相同,但是生命周期不同。在运行时只初始化一次。若不进行初始化,系统自动初始化..
分类:
编程语言 时间:
2016-05-07 01:15:42
阅读次数:
338
接口的用途无需多言。但这并不意味着可在任何场合使用接口,要知道通过接口调用和普通调用存在很大差别。首先,相比静态绑定,动态绑定性能要差很多;其次,运行期需额外开销,比如接口会复制对象,哪怕仅是个指针,也会在堆上增加一个需 GC 处理的目标。
显然,对于压力很大的内部组件之间,用接口有些得不偿失。
对比接口调用和普通调用的汇编指令,以便有个直观的认识。
普通...
分类:
其他好文 时间:
2016-05-06 16:18:34
阅读次数:
107
模板与泛型编程
本文尝试着介绍对泛型编程的理解,从而扩展我们的template编程。泛型编程是C++中非常重要的一部分,它使得我们节省了很多编写不同代码的体力。
1. 了解隐式接口和编译器多态与OOP的不同之处面向对象编程世界总是以显式接口和运行期多态解决问题。例如:void doProcessing( Widget &w) {
if (w.size() > 10 && w != som...
分类:
编程语言 时间:
2016-05-06 16:01:48
阅读次数:
166
继前面我们对类和对象进行系统学习之后,我们来继续学习OOP的另一个基本概念:继承。利用继承,可以基于已存在的类构造一个新类。继承已存在的类就是复用(继承)这些类的方法和域,在此基础上,可以添加一些新的方法和域,以满足新的需求。
此外,我们也将介绍反射的概念。反射即在程序运行期间发现更多的类及其属性的能力,不过这个强大的特性更吸引开发软件工具人员的关注,编写应用程序的人员则不太关注,所以我们粗略介...
分类:
编程语言 时间:
2016-05-06 15:31:24
阅读次数:
122
ARM 汇编程序的由机器指令,伪指令和宏指令组成。伪指令不像机器指令那样在处理器运行期间由机器执行,而是汇编程序对源程序汇编期间由汇编程序处理。在前面的指令集章节中,我们已经接触了几条常用到的伪指令,如ADR 、ADRL、LDR、NOP 等,把它们和指令集一起介绍是因为它们在汇编时会被合适的机器指令代替,实现真正机器指令操作。宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用...
分类:
其他好文 时间:
2016-05-06 15:13:04
阅读次数:
229
<!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> runtime 简介: 1.通过 Objective-C 直接编写 Objective-C 代码 在程序运行期间会自动将代码转换成相应的结构体和函数。 2.通过NSObject的方 ...
分类:
移动开发 时间:
2016-05-06 00:47:44
阅读次数:
150
Spring AOP使用动态代理技术在运行期织入增强的代码,两种代理机制包括:一是基于JDK的动态代理,另一种是基于CGLib的动态代理。之所以需要两种代理机制,很大程度上是因为JDK本身只提供接口的代理,而不支持类的代理。 1、带有横切逻辑的实例 ForumService:包含性能监视横切代码 p ...
分类:
编程语言 时间:
2016-05-05 19:20:07
阅读次数:
255
前言 今日的C++不再是个单纯的“带类的C”语言,它已经发展成为一个多种次语言所组成的语言集合,其中泛型编程与基于它的STL是C++发展中最为出 彩的那部分。在面向对象C++编程中,多态是OO三大特性之一,这种多态称为运行期多态,也称为动态多态;在泛型编程中,多态基于template(模 板)的具现 ...
分类:
编程语言 时间:
2016-05-03 00:12:38
阅读次数:
269
变量的可见性(即作用域)和生命期既有区别,又有联系。 一个变量在程序的某处没有可见性,但生命期任然可以存在,比如局部静态变量的可见性在它所在的函数里面,在函数外部不可访问,但是它的生命期确是整个程序的运行期间;而一个变量生命期结束,它也就没有了可见性,就像局部变量,随着栈空间的释放,它也就不存在了, ...
分类:
其他好文 时间:
2016-04-28 09:20:40
阅读次数:
142
面向切面编程(AOP)AspectOrientedProgramming可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,提高代码的灵活性和可扩展性,AOP可以说也是..
分类:
其他好文 时间:
2016-04-27 07:08:58
阅读次数:
165